I have this ASP.NET application that works fine. One of the pages packages a large amount of data for download, which sometimes takes a few minutes. On my development machine, when debugging, it works fine. But on the production machine, the page stops processing after approximately 30 seconds. The user experience in production is this:
The user navigates to this page.
The user clicks on a button to download the large file.
The browser displays the usual "processing" icon on the page tab, indicating the request is being served.
After 30 seconds, the browser removes the "processing" icon and goes back to the regular tab icon. Nothing else happens.
In development (debug) mode, the page keeps processing after 3 and, eventually, the file is offered for download, as expected.
Something must be interrupting the processing after 30 seconds. I have tried setting all the properties I know of, including Server.ScriptTimeout in code and executionTimeout on web.config, but the result doesn't change.
What other settings may be related to this? Any ideas? Thanks.
Related
Good day.
I have the following detail:
Make an application with signalR in vb.net (ASP.NET), which works well, the problem is that the page using SinalR has links that send me to other pages that open with a target = '_blank' in it browser, but when they open they do not load completely, when I inspect my page, the console sends me the following:
Active resource loading counts reached to a per-frame limit while the tab is in background. Network requests will be delayed until a previous loading finishes, or the tab is foregrounded. See https://www.chromestatus.com/feature/5527160148197376 for more details
I have researched how to disable that option in chrome, I have applied it, but when opening again pages do not load.
Any ideas?
Note: My chrome is version 69.0 and in IE the pages work correctly, and the end of the page show the next message (waiting for available socket)
I am writing my first ASP.net Web Application using VS2015 and IIS 7.5. After I make changes in the code and save, I right click and hit View in Browser to see the page. A new tab opens in Chrome and the page comes up fine, but when I go back to the aspx page and make some changes and resave, when I try and refresh the browser tab that opened earlier I get 'This Site Can't be Reached Localhost refused to connect'. I then have to go back to VS and right click and View in Browser again which opens a new tab and the page works. Is there anyway to keep the original tab that opened persistent so I can just refresh it to show code changes? It's a bit tedious having to open a new tab for every change. Thanks.
Edit: seems to be a timeout issue as it doesn't matter if I make changes at all. Trying to refresh the browser after 20 or so seconds causing the connection refused error.
Turns out I have an asp:repeater that builds a table. The table had over 4000 rows in it. When I removed the table or when I reduced the rows to under 300 I was able to refresh the page as many time as I want. As soon as I bumped the rows back up to 4000 the issue came back. Not sure why the amount of data was an issue though.
Go to Tools-Options
Under Projects and solution -> Build
Run select "Always build" under "On Run, when projects are out of date"
I have a customer portal with a few reports in it. When I click a report link on the parent page to view a report, a new window opens (window.open) which contains an ASPX page, containing a reportviewer control.
The report runs (less than 30 seconds):
But then something strange occurs.
If I remain on the parent page, 15 minutes later, the browser is unresponsive. I cannot browse to any other pages on the site, I need to close and reopen the browser to continue. If I do NOT choose a report, 15 minutes later the browser is fine.
I've used network tools to see what the network calls looks like, and all I get is that a call was initiated.. nothing indicating a hung HTTP call, etc. It just.. stops.. If i browse the site immediately after running the report, it's fine! But if I hang out on the parent page after running the report (even after closing the child report window) I get the unresponsiveness.
There is a limited set of compatible browsers, especially on older versions of SQL Server SSRS. I would always recommend IE, which it looks like you are not using?
Here's the compatibility info (for SQL 2016, there's a version selector at the top of the page):
https://msdn.microsoft.com/en-us/library/ms156511.aspx#bkmk_reportviewer
Not really the solution, but finally found a more permanent fix for this. I developed a separate website that hosts my ReportViewerControl. I then developed a web form that loads with a meta refresh, after 3 seconds the page will "refresh" and redirect to my secondary ReportViewerControl website.
Something "goofy" was happening here, the session was getting locked up, almost like the more complex the report, the longer the session was locked up, the more of a chance the browser hanging. Something with the meta refresh and the secondary website causes the session to be completely disconnected (I think???)
There's probably no other person in the world that will have this issue, but if it does, at least others know my story =]
We're using the Telerik.RadScriptManager to dynamicly register resources depending on the controls on the page. These get combined and served as a single .axd for all .js files. This works fine as long there is no "heavy" load on the page. Under load the inital loading of the Telerik.Web.UI.WebResource.axd takes up to 10s, reloading the page afterwards however is instant (~10ms). The file is around 200kb in size and in FireBug i see the browser "waiting" for the request. This happens per user/browser, it isn't cached globally on the server. The server CPUs aren't stressed at all (<10%), so where is the bottleneck? What takes so long? Any hints where i could investigate this further?
Thx
UPDATE:
Narrowed it down to the RadScriptManager EnableScriptCombine feature. Disabling this and there is no performance impact anymore. But then I have 20 more requests...
Anyone an idea how to speed this up? Another idea would be to generate/combine the script with the RadScriptManager and then saving it next to the page as it won't change.
We have an asp.net site running, which has been working fine for some time, but recently I have been experiencing some issues with IE8.
On posting some pages - mainly on our development server, although on staging too - we get an occasional "Internet Explore cannot display the webpage" error along with the button asking to diagnose connection problems. IE only seems to wait 10 seconds before timing out. I know that the page itself may take longer to load the first time (on dev and staging). So press F5 and everything then works fine.
Is there anything that should be done in the aspx page to tell IE to wait a bit longer?
I thought I had read that the default timeout supposed to be 90 seconds or something for browsers.
A bit more info:
It mostly happens on a POSTing a signup page, but that is just because I test that page and it starts the IIS App, makes the first connection to SQL and pre-caches some information. That first time the page can take 10-15 seconds to come back. IE8 times out after 10 seconds as it has had nothing back.
This happens on a dev W7x64 machine with 8GB RAM, as well as on a staging server WIN2008.
Having googled around a bit, some people are seeing the same problem, but no conclusive pointers to the problem or a solution.
It isn't a connection problem; everything works fine in Firefox, Chrome and even IE7; I have tried with add-ons disabled and resetting IE settings, still happens.
Ideas welcome.
Try this out
<httpRuntime executionTimeout="15"/> under system.web in the web.config
A 10 second timeout might be a usability tool in disguise. 10 seconds is a pretty long time. Js capable browsers are > 99% now, why not push it off over Ajax and poll until the long work is done, then redirect to the next page? You could show the user more useful progress info in the meantime. If for some reason the next page itself is the source of the slow down and cannot be separated from its slow parts, you could finish by precaching the next page then redirecting.
Check your Application pool Advanced settings in IIS. It may be lower than is normal. Maybe the Ping period? Mine is 30secs
I think that the long term solution is not actually related to timeout configuration.
You're saying that only the first request takes a long time, and it takes > 10 seconds, so you should issue a warm-up request first after installing your application in a way that the first request load is never experienced by the end user.