背景
上个月我们的开发团队创建了一个新的asp.net 3.5应用程序,放在我们的生产网站上。完成工作后,我们请求管理服务器的组将应用程序复制到我们的生产网站,并将虚拟目录配置为新的应用程序。
2010年12月27日,选择了两个公共“豚鼠”来使用该应用程序,效果非常好。 2010年12月30日,我们收到内部员工的通知,称当该员工尝试访问应用程序时(这是业务流程所有者),他们收到了“服务器应用程序不可用”的消息。
当我打电话给负责我们服务器支持的组时,我被告知它可能失败了,因为我没有在我的代码中关闭连接。然而,同一组人随后为这个扩展请求应用程序创建了一个单独的应用程序池。从那以后就没有出现任何问题。
我做了一点谷歌搜索,因为我不喜欢被指责为某些事情。我发现,“服务器应用程序不可用”的消息也会出现在您有多个使用不同框架的应用程序,并且您没有将它们放在不同的应用程序池中。
技术细节 - 网站结构树
Main Website <-- ASP Classic
+-Virtual Directory(ExtensionRequest) <-- ASP 3.5
来自我们的服务器支持组:
“审核了服务器日志和IIS中的网站设置。由于应用程序池未正常工作,我们不得不重置它。这纠正了网站问题,现在已经恢复在线状态。我们为扩展Web创建了一个应用程序池,以使其与主站点池隔离。过去,当连接被保持打开并且池填满时,我们已经看到其他应用程序会这样做。建议检查站点代码,确保没有留下任何连接。”
真正的问题是: 导致故障的真正原因是什么?连接保持打开问题不是ASP Classic问题吗?ExtensionRequest应用程序必须首先被使用(超过两次)才能保持连接打开吗?更有可能的是,他们一开始就没有费心在自己的应用程序池中设置新应用程序吗?
抱歉,表述有些冗长。