我的应用程序基于ASP.NET 2.0构建,并托管在运行Windows Server 2008 R2的专用服务器上。
从过去几天开始,我的用户抱怨应用程序通过选择以前的SQL Server连接值而开始出现故障。 GridView开始显示DropDown控件的选项等。当我重新启动SQL Server后台服务时,一切都开始正常工作。我与人们进行了很多讨论,很少有人建议它与应用程序池有关。
我查看了IIS属性,以查看哪个应用程序池正在运行我的应用程序。我发现我的应用程序使用经典应用程序池,托管管道模式设置为:Classic
。该应用程序还运行应用程序池标识:LocalSystemAccount
。
在数据库连接字符串(在web.config文件中)中,我将服务器名称用作具有集成Security=SSPI
的LocalHost。
我想知道上述设置是否与此故障有关。
我是否需要将管道模式更改为Integrated并将应用程序放在单独的池中?集成Security=SSPI
是否与PipeLine Mode
?
答案 0 :(得分:4)
Re:管道模式和集成安全设置是否相关:否。
管道模式指示IIS处理请求的方式。 Classic本质上是IIS6模型,ASP.NET代码通过ISAPI运行。集成将ASP.NET处理带入IIS 7新模型的主要管道中。
集成安全性正在确定您的应用在建立连接时向SQL提供的身份验证。我相信SSPI意味着您将使用应用程序池进程的帐户凭据。由于您使用的是LocalSystemAccount,因此它将是本地系统。如果SQL Server实例位于单独的计算机上,这可能会出现问题,但如果它是localhost,我会想象它会被信任。
关于不稳定行为的根源......我在那里没有答案。应用程序池可能进入一个棘手的状态,但我不认为该状态与管道模式有关。