我有一个应该可供多个用户访问的Web应用程序,但是,登录两个或多个用户后会话变为空
这是我的网络配置:
<sessionState cookieless="false" timeout="30"
regenerateExpiredSessionId="true"/>
答案 0 :(得分:0)
我会尝试用我的想象来解决你的问题。
如果您与某些用户一起登录,并且在与其他人登录后会话变为null
,这应该是与某些应用程序异常相关的问题,这会使IIS应用程序池崩溃,并且因为我猜你是使用进程内会话状态,当应用程序池崩溃或被回收时,所有会话都将被丢弃。
换句话说:检查是否存在可能导致应用程序池崩溃的异常。
在Application_Error
中放置Global.asax
事件处理程序,并在其中设置断点以检测应用程序崩溃。
正如@ b.pell在一些评论中指出的那样,由于内存不足问题,会话可能会消失。
我没有提到您可以使用database session存储空间,但有时候切换到此模式并不容易,因为会话中存储的每个对象都需要序列化和序列化/反序列化对您的整体应用程序性能有重要影响。