one*_*end 6 c# asp.net asp.net-mvc session webforms
这是我的情景.我在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 服务器使用。
自定义模式,使您能够指定自定义存储提供程序。
将会话切换到任何其他会话都可以让您进行更新,但迁移不是即时的。