如何在不丢失会话数据的情况下替换站点的dll(防止应用程序重启)?

Dab*_*bas 1 asp.net

当我修改我的代码时,我必须上传项目的DLL我修改它,但问题是我放松了我放入会话的数据,因为我的应用程序重新启动.
这是正常的吗?或者我应该做些什么来阻止重启?
我觉得这是错的,因为想象一下,如果你在购物网站上工作,人们购买商品,突然他们丢失了放在购物车中的所有东西(因为你在会话中保存了他们的选择.
有没有办法在Asp中做到这一点.净?

谢谢

Ode*_*ded 5

从你的问题看起来你在proc中使用会话(即在IIS进程中).

这意味着每当IIS重新启动时,您确实会丢失会话数据(如果更新bin文件夹中的DLL,则会出现这种情况).

要解决这个问题,有几种选择:

  • 将会话信息移动到SQL Server
  • 将会话信息移动到专用会话服务器
  • 从应用程序中删除会话的所有依赖项.

请参阅sessionState配置元素的MSDN文档.