如何解决“在vbScript网站中回收IIS应用程序池错误”?[复制]

How to resolve 'recycle IIS application pool error in vbScript website'? [duplicate]

提问人:Maduwantha Hettiarachchi 提问时间:9/26/2023 更新时间:9/27/2023 访问量:61

问:

这个应用程序每天至少需要回收 3 次,目前这是一个非常大的问题。这不是一个大规模的逻辑应用程序,它主要用于上传和下载文档以及更新一些数据。任何猜测请告诉我

如何在不改变应用池回收时间的情况下解决这个问题?当我定期回收时,用户注销那里登录会话,这也是一个大问题

IIS VBScript 垃圾回收 ASP-Classic 应用程序池

评论

0赞 user692942 9/26/2023
使用数据库持久化会话状态,这样可以控制会话状态,而不依赖于 ASP 内存中会话持久性。

答:

-1赞 YurongDai 9/27/2023 #1

您在 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 会话状态模式的更多详细信息。

评论

0赞 user692942 9/27/2023
这 ASP.Net 不是经典 ASP,经典 ASP 没有内置的“SQL Server 模式”(请参阅重复的目标)。