有没有办法确保在回收之前关闭应用程序池中的所有活动会话

时间:2013-01-07 10:59:28

标签: asp.net .net iis

我需要每周回收一次IIS应用程序池,并且在回收之前需要确保应用程序池中的所有活动会话都已关闭。 有办法吗?使用.net。

2 个答案:

答案 0 :(得分:3)

IIS回收通常是“重叠”,意味着请求不会被切断:允许运行请求继续,而新池请求由新池实例提供。请参阅here

但这对会话(跨越多个请求)没有帮助。循环中将放弃InProc会话。但是,您可以使用stateserver或sqlserver将进程外状态存储在进程外,因此可以安全地进行回收。请参阅here

答案 1 :(得分:0)

怎么可能呢?会话可能需要几分钟才能关闭。所以等待它们是不切实际的。

我认为你问的是错误的问题。您应该问“我可以阻止所有会话在回收中被销毁吗?”。答:是的。使用StateServer模式。