【问题标题】:Is it possible to recycle IIS application pools without losing user sessions?是否可以在不丢失用户会话的情况下回收 IIS 应用程序池?
【发布时间】:2011-05-15 17:52:02
【问题描述】:

我们目前正在部署代码以正常运行,但不利的一面是破坏用户会话数据。

有没有一种方法可以在不丢失会话数据的情况下回收 IIS,或者在 SQL Server 中保持会话状态或类似的唯一方法?

【问题讨论】:

    标签: asp.net iis


    【解决方案1】:

    内存中的会话状态存储在 IIS 工作进程的内存中。当您重新启动应用程序池时,您实际上是在停止和重新启动工作进程,因此工作进程所持有的任何状态(包括所有会话对象)都会丢失。 因此,是的,您需要将会话数据存储在 IIS 工作进程之外,例如在 SQL 中,以免“破坏”用户的会话数据。

    【讨论】:

    • 小记,当你回收应用程序池时,你启动了新的w3wp进程,它服务于新的请求。并且旧进程保留在内存中,直到所有旧请求都未完成或未超过可配置的时间量(设置名称为“关闭时间限制”,默认值为 90 秒)。
    • 身份验证cookie丢失?
    猜你喜欢
    • 1970-01-01
    • 2012-09-21
    • 2013-10-02
    • 2019-12-09
    • 2012-08-22
    • 2018-07-07
    • 2011-09-20
    • 2019-12-30
    • 1970-01-01
    相关资源
    最近更新 更多