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