Last post Jun 17, 2010 07:13 AM by NightOwl888
Jun 16, 2010 04:39 PM|NightOwl888|LINK
Ok, I have been trying to fix this issue for several hours now, and I was hoping to find out if someone can shed some more light on it. I get the above error on ONLY ONE virtual root in my IIS 5.1 installation. I have
other web sites I am developing in .NET 2.0 and 3.5 and they seem to work fine. This is a development workstation with only 1 user, and I get this error continually
every time I access only 1 of my web sites - even after rebooting the machine. It makes no difference what order I access the web sites in - this one always fails and the other ones always succeed.
OS: Windows XP/IIS 5.1
Dev Environment: Visual Studio 2005/.NET 2.0
Browser IIS 7.0
Every page on the internet I have read about this seems to indicate it must be something with the "HTTP Keep Alive" setting. I disabled this setting but it made no difference at all.
I keep full backups of my machine and I restored my OS/IIS partition from a few days ago (including the full IIS metabase), but I still continue to get the same error.
The error suddenly started occuring today - I just made some updates on the web site and deployed them to production yesterday (and neither my test or production servers are exhibiting this behavior). It happened after a power failure and my UPS software
forced my Lenovo T500 laptop to sleep. When the power failure occurred, both VS 2005 and a browser with this web site were open on the machine. The machine woke up and the programs were all still running, but I was no longer to access this web site.
I had a problem like this years ago and I ended up rebuilding the machine from scratch. Please give me an alternate solution.
Full Error Message:
Please try the following:
Technical Information (for support personnel)
IIS 5.1 Visual Studio 2005 .NET 2.0 IE7
Jun 17, 2010 12:23 AM|qwe123kids|LINK
Jun 17, 2010 07:13 AM|NightOwl888|LINK
Thanks for the link, but a) IIS 5.1 on XP does not have this setting and b) I thought it was obvious from my post that changing this setting would not solve anything. Accessing another root on the same "web site" in IIS works, and my issue is not related
to the number of users because I only have one.
I resolved this issue myself after discovering another clue: I was able to access the robots.txt file of my web site, it was only ASP.NET pages that weren't accessible. As it turns out there were issues related to some very specific design features of the
web site + invalid database connection strings.
The web site is using URL rewriting as outlined in this article:
http://msdn.microsoft.com/en-us/library/ms972974.aspx. The URL rewriting engine was modified slightly to raise an event before loading the rules into the cache. The event can be used by the web site to add additional URL rules. In my case, I am adding these
rules by loading them from the database.
When I was developing my release, I used my TEST database rather than my DEV database because I have made some significant database changes in DEV that were not planned in the release 2 days ago. My TEST database happens to be on a virtual PC, and upon restarting
of my machine the virtual PC did not start - thus my database was not available to the URL rewriter.
Finally, the thing that really made this error misleading was the fact that I have a custom error page. Since the error page is directly dependent on the URL rewriter, it put the application into an endless loop of trying to access the database, failing,
and calling my custom error page. Apparently each time a new attempt happened it opened a new connection to IIS, which exceeded the connection limit after 10 iterations and then it showed this very misleading error message.
Had I either stepped through the code or checked the error log earlier, I would have solved this issue a lot sooner. However, the error message led me to believe there was an issue with IIS instead of the application.
The bottom line is: This error can occur if your application is in an endless loop, and is not necessarily an indication that IIS is failing.