自从我们在IIS服务器上安装了.NET 4.0和ASP.NET MVC 3以来,我们部署了我们的网站,我们得到了“服务器应用程序不可用”。
事件日志中没有关于该问题的日志。
我们认为这与.NET 4.0或MVC 3.0的安装有关,正如我们在部署的每个阶段所看到的那样。 我们首先升级了我们的DEVelopment环境,然后是ACCeptation,现在我们在我们的PRoDuction环境中看到了相同的行为。
回收特定Web应用程序的应用程序池可解决问题。
我们以前没有这个,并且想知道MVC3.0或者.NET4.0的安装是否可以改变。 我们所有的networking服务器都运行在IIS6上。
更新12-08-2011
我们注意到了一些其他的东西:当我们有一个应用程序池运行三个.NET 4应用程序。 而且我们改变了其中一个应用程序的web.config中的一个值,这会导致它回收,只有这个应用程序不再有效,另外两个仍然正常运行。 这意味着当Web应用程序中的文件发生更改时,不会发生自动回收。
麻烦的应用程序池中是否有多个应用程序? 如果是这样,请尝试分离到不同的池中,因为这可能导致问题 – 特别是如果两个应用程序使用不同版本的.Net。
我们已经发现了这个问题,这是一个外人不可能知道的东西。
因为我们想要在两个应用程序之间共享一个会话,所以我们在Web应用程序中添加了一个“SharedSessionModule”。 这基本上是从ASPState数据库获取正确的会话之前更改应用程序的名称。 我从这里得到这个模块: http : //www.codeproject.com/KB/session/sharedsession.aspx?display=Print
这工作,但混乱的内部IIS导致它在回收appPool时崩溃。