Ever since we've installed .NET 4.0 and ASP.NET MVC 3 on our IIS servers and we deploy our websites we get an "Server Application Unavailable".

There are no logs in the eventlog regarding the problem.

We think it is related to the installation of .NET 4.0 or MVC 3.0 as we've seen this happen through each stage of our deployment. We first upgraded our DEVelopment environment, then our ACCeptation and now finally we are seeing the same behaviour in our PRoDuction environment.

Recycling the application pool of the specific web application solves the problem.

We did not have this before, and are wondering what the installation of MVC 3.0 or .NET 4.0 could have changed. All our webservers run on IIS6.

Update 12-08-2011
We've noticed something else: When we have one application pool running three .NET 4 applications. And we change a value in the web.config of one of those applications, which should cause it to recycle, only this application no longer works, the other two are still running fine. Meaning that an automatic recycle never happens when a file changes inside the web application.

  • 1
    What good is a development and acceptation environment if you push broken things through the line anyway?
    – Wesley
    Aug 11, 2011 at 23:30
  • Well it's not broken, once we've deployed the website and recycled the application pool everything works fine.
    – Peter
    Aug 12, 2011 at 6:21

2 Answers 2


Is there more than one application in your troublesome App Pool? If so, try separating into different pools as this could be causing the problem - especially if the two applications use different versions of .Net.

  • In IIS6 you can't have applications running on different versions of .net in the same application pool. That just doesn't work at all. see http://forums.iis.net/t/1179042.aspx. And we've tried separating them, each in it's own application pool. But the problem remains. I've updated my question with some more information.
    – Peter
    Aug 12, 2011 at 6:27
  • This is no longer true. As of .NET 4, application pools targeting 4.0 can also run earlier versions side-by-side. Edit: Well, I guess this can still be the case if there is a defect when running this way...
    – Sumo
    Aug 15, 2011 at 2:27

We have discovered the problem, it was something that an outside person could never have known...

Because we want to share a session between two applications, we have added a 'SharedSessionModule' to the webapp. What this basically does is change the name of the application before fetching the correct session from the ASPState database. I got this module from here: http://www.codeproject.com/KB/session/sharedsession.aspx?display=Print

This works but messes up the internals of IIS causing it to crash when recycling the appPool.

  • Sorry I'm not doing this right. I don't have a reputation of 50 and have no other way to ask this question. Peter, we are doing this exact thing using the same code from the link you posted. I know this was a couple of years ago but do you remember how you determined that IIS gets hosed and perhaps why it crashes? Is there any other solution to sharing sessions?
    – sthames42
    Sep 5, 2013 at 22:56
  • @sthames42 After removing this module it worked fine. The solution we went for to share a session was done way more easily on the database level. ASP.Net sets up some tables which contains the application name. When it wants to get the session it calls a stored procedure and passes this name. You just have to modify this procedure (I think it was more then one) so that it gets the same session for another (in another table defined linked domain) name. I did write documentation but it is propriety of the company I did the consulting job for at the time and I no longer work there.
    – Peter
    Sep 10, 2013 at 10:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.