在 IIS 8.5 上,我们有一个正在运行的 Web 应用程序,其中应用程序池的标识设置为ApplicationPoolIdentity。
当我们切换到自定义帐户而不是应用程序池标识时,Web 应用程序的用户会话会随机丢失,并且在应用程序池回收时也会丢失。
但是ApplicationPoolIdentity一切正常。
出于各种原因,我们需要将应用程序池的标识设置为自定义帐户。
知道使用具有IIS_IUSRS权限的Windows用户帐户的自定义帐户有什么问题。
发现问题!现在,当我们回收应用程序池时,将保留用户会话。"自定义帐户"的行为与 ApplicationPoolIdentity 相同。
当我们是自定义帐户而不是应用程序池标识时,必须在 IIS 应用程序池中将Load User Profile
属性设置为True(这是 IIS 8 的默认值(。
"Load User Profile
设置仅适用于用户帐户。像NETWORK SERVICE和ApplicationPoolIdentity这样的服务帐户具有特殊处理。细节:https://stackoverflow.com/a/17149834/218408