2009-05-28 49 views
0

如何调查是什么导致Session过期? 我想给一些建议给最终用户谁有以下问题与我们的网站:如何调查Session()过期并让用户知道的原因

If Session("xxxx") Is Nothing Then say something.. WHY?? 

我可以添加一些web.config中进行会话持续时间更长,或者我应该读的IIS日志文件看看为什么发生这种情况

回答

1

第一次会话的配置为web.config<sessionState> element

你也可以拿起会话结束事件(SessionStateModule.End)但注意(1)这只适用于进程内会话管理,(2)你需要在请求发生时记录(在会话中),所以你可以确定它是超时还是其他原因。

+0

那么默认的sessionState设置是什么?以及为确保它保持良好状态而推荐的建议?可以有例如代理/防火墙导致问题? – Tom 2009-05-28 11:50:21

1

我认为一般情况下,如果用户在一段时间内没有做任何事情(没有页面刷新等),那么会话将过期,否则它只会消耗服务器上的大量资源。

在经典的asp有一个超时你可以设置,不知道如果它仍然存在于asp.net或不。

如果你不希望会话过期,而用户正在看你的网站,你可能会把元刷新到你的网页,或者有点聪明,并使用某种类型的ajax计时器触发并做一个部分刷新东西

1

您可以在Global.asax文件的Session_End方法中放置一些代码,以帮助确定发生了什么问题,假设您将会话作为InProc运行。

为了增加在IIS6会话长度,请执行以下操作:

  1. 打开IIS
  2. 右键点击你的网站,然后选择属性
  3. 选择主目录选项卡
  4. 点击配置按钮,在应用程序设置部分
  5. 选择选项选项卡
  6. 将会话超时值增加为 任何你想要的。
  7. 关闭所有和IISReset
相关问题