这是我的情况。我在Windows Server 2012的iis 8上发布了Webforms或mvc应用程序。然后我的客户提出了其他要求,我必须更新后台代码。
例如,表单上的新输入或db上的新列。我正在将会话变量用于成员资格或购物车流程。
当我在服务器中复制新的bin文件时(发布我的应用程序时),会话终止。如何解决此更新问题?我该怎么做才能保持会话状态?因为访客失去了购物车。
感谢帮助。
许多情况都会导致IIS删除会话:
听起来您像第一个犯规,并且无法阻止这种行为。
听起来您正在使用“处理中”会话,这是默认设置,这就是为什么您丢掉篮子等的原因。
从MSDN:
InProc模式,它将会话状态存储在Web服务器上的内存中。这是默认值。
其他选项是:
StateServer模式,它将会话状态存储在称为ASP.NET状态服务的单独进程中。这样可以确保在重新启动Web应用程序后保留会话状态,并使会话状态可用于Web场中的多个Web服务器。
SQLServer模式将会话状态存储在SQL Server数据库中。这样可以确保在重新启动Web应用程序后保留会话状态,并使会话状态可用于Web场中的多个Web服务器。
自定义模式,使您可以指定自定义存储提供程序。
将会话切换到其他任何会话都可以使您进行更新,但是迁移不是即时的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句