我有一个asp.net网站,它使用MVC 1.0框架,但我发现有时会意外丢失当前会话,但我找不到这个问题的原因。
有人有任何建议吗?或告诉我如何找到这个问题的原因,
提前致谢!
答案 0 :(得分:2)
一个可能的原因是IIS工作进程由于某种原因正在回收。发生这种情况时,如果您正在使用inproc会话,则会丢失会话变量。
http://blogs.msdn.com/david.wang/archive/2005/09/19/Why_do_I_lose_ASP_Session_State_on_IIS6.aspx
这是因为会话数据存储在工作进程内存中。另一方面,如果您使用进程外会话服务器,那么您的会话数据将存储在其他位置(例如SQL Server数据库),并且工作进程是否重新启动无关紧要。
您可以调整IIS中的设置,以最大程度地减少重新启动工作进程。