当apppool回收时,应用程序强制用户重新登录



我们有一个在IIS windows服务器2016上运行的私有.net应用程序。我们正在使用会话状态服务使用Cookie进行表单身份验证

当我们回收apppool时,任何用户都会被迫返回登录页面。这不是预期或想要的行为。

如果我们在windows 10上设置相同的代码,我们就不会有这个问题。我们正在努力在任何其他环境中复制这一点。

IIS中是否存在会影响此功能的某些设置?

当我检查文档时,可能是应用程序池的标识会导致此问题。若应用程序位置池的标识为ApplicationPoolIdentity,则不会发生任何事情。可能只使用自定义帐户。我认为这是不准确的,但你可以检查身份。

在IIS中,您可以更改会话状态模式以保持用户登录,即使在应用程序池回收时也是如此。

通常,IIS将会话状态值和变量存储在本地Web服务器的内存中。因此,您可以使用SQL Server模式。SQL Server模式将会话状态存储在SQL Server数据库中。使用此模式可确保在重新启动Web应用程序(包括应用程序池回收(时保留会话状态,并使会话状态可用于Web场中的多个Web服务器。

<configuration>
<system.web>
<sessionState mode="SQLServer"
sqlConnectionString="Integrated Security=SSPI;data 
source=SampleSqlServer;" />
</system.web>
</configuration>

感谢您提及用户,为我们指明了正确的方向。解决办法是更改";加载用户配置文件";设置为默认值True。

最新更新