Asp.net 是否可以在不丢失用户会话的情况下回收IIS应用程序池?

Asp.net 是否可以在不丢失用户会话的情况下回收IIS应用程序池?,asp.net,iis,Asp.net,Iis,目前,我们正在部署代码,使其能够正常运行,但不利的一面是破坏用户会话数据 是否有一种方法可以在不丢失会话数据的情况下回收IIS,或者在SQL server中保存会话状态等是唯一的方法?内存中的会话状态存储在IIS工作进程的内存中。重新启动应用程序池时,实际上是在停止和重新启动工作进程,因此工作进程所保持的任何状态(包括所有会话对象)都将丢失。 因此,是的,您需要将会话数据存储在IIS工作进程之外,如SQL中,以避免“破坏”用户的会话数据。Small note,当您回收应用程序池时,您将启动新的w

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


是否有一种方法可以在不丢失会话数据的情况下回收IIS,或者在SQL server中保存会话状态等是唯一的方法?

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

Small note,当您回收应用程序池时,您将启动新的w3wp进程,它将服务于新的请求。并且旧进程将保留在内存中,直到所有旧请求未完成或未过期可配置的时间(设置名称为“关机时间限制”,默认值为90秒)。身份验证cookie是否丢失?