这个应用每天至少需要回收3次,目前这是一个很大的问题。这不是一个大规模的逻辑应用,主要用于上传下载文档以及更新一些数据。有什么猜测请告诉我
如何在不改变应用程序池回收时间的情况下解决这个问题?当我定期回收时,用户在登录会话中注销,这也是一个大问题
您在 iis 中使用哪种会话模式?如果您使用默认的 InProc 模式进行 SessionState 持久化,那么您在服务器代码中添加到会话字典中的任何数据都将在应用程序池回收期间丢失。下次您的代码访问 SessionState 字典中的条目时,它将返回 null。
因此,我建议您可以使用SQLServer模式。 SQLServer 模式将会话状态存储在 SQL Server 数据库中。使用此模式可确保在 Web 应用程序重新启动(包括应用程序池回收)时保留会话状态,并使会话状态可供 Web 场中的多个 Web 服务器使用。
<configuration>
<system.web>
<sessionState mode="SQLServer"
sqlConnectionString="Integrated Security=SSPI;data
source=SampleSqlServer;" />
</system.web>
</configuration>
您可以参考此链接以获取有关iis会话状态模式的更多详细信息。