Troubleshooting IIS7 : 3 Things I’ve Learnt
1. Stop! Take a step back and think hard about the fault.
- if you are not familiar with IIS7 (and you’ve tried all those “tricks” you used to use with IIS6), more than likely your issue is IIS7 installation / configuration related.
2. Remember IIS7 installs nothing by default
- are you sure you have installed all of the handlers you need for the site?
3. Remember IIS7 installs nothing by default
- not even error handlers and error page generators
When something that “should” work doesn’t, frustration and “thrashing” often ensues – you refuse to accept the obvious and keep trying the same thing different ways yet the result is always the same. This is why stopping and taking a step back often results in seeing the true nature of the problem and allowing you to solve it. Every issue I have experienced with IIS7 so far has been because of installation (or lack of) or configuration issues. This is because I keep thinking about IIS7 like I am used to thinking about IIS6.
Most of the issues I have had with IIS7 are due to the correct handlers not being installed. This one has caused me problems a couple of times, the most classic example being wondering why a site looked different under IIS7 when the same site worked fine under IIS6. I spent an hour checking and trying a lot of different things before I finally stopped and thought about what was happening – the css and images for the site were not being served, a bit of research showed that IIS7 has a separate static content handler that is not installed by default. Installed the correct handler and the site worked fine.
If you are sure everything else is working and installed as it should be, then more than likely you have a configuration issue. This problem is a definite probability if you are setting up an ASP.NET web application that runs fine under IIS6 but seems to fail under IIS7. Today I spent yet another hour troubleshooting the deployment of something to IIS7, the biggest problem I had was I had no information to diagnose the issue. Turns out that IIS7 does not even install any kind of error handlers to generate those charming yellow pages of death most ASP.NET developers will be familiar with. Once I figured out that I had to install yet another set of handlers, I could review the error details, resolve the issue and get the site up and working quite quickly.
If you’ve got everything installed and nice error messages and fault tracing, and you still can’t figure out what the problem is, I’m sorry I can’t help, you exhausted my current knowledge on IIS7. Google is your friend or you could try The Official Microsoft IIS Site and forums as there are plenty of people more knowledgeable than I lurking around there.