![]() |
1
2
在global.asax中结束的会话应始终被激发,尽管使用的会话类型不同。 -编辑:你也可能对
因为这提供了有关新请求的信息,说明上一个会话是否可能已超时。 |
![]() |
2
2
看来我找到了解决办法。我对它不太满意,但目前它起作用了。 我在页面标记中添加了隐藏字段
然后按照我的代码隐藏
您还需要将其添加到web.config中,否则asp将忽略所有已发布的表单字段。
重新生成expiredsessionid是重要的属性。 |
![]() |
3
0
它的工作原理基本相同——每次ASP.NET在URL中收到具有该会话ID的请求时,会话服务都会更新时间戳。当当前时间超过时间戳时,会话将过期。 如果您在会话中放置了一些内容,并检查它是否在每个请求中都存在,如果不存在,您就知道会话是新的(替换过期的会话或新用户)。 |
![]() |
4
0
我想看一下AnthonyWjones回答类似问题的“数据库”部分: 在会话开始事件中,您应该能够检查数据库中是否存在sessionid-我假设如果我请求一个URL中包含sessionid的页面,那么这就是我将使用的sessionid-我还没有测试过这一点。 当用户手动注销时,应确保清除此数据库,以确保存储标志的新实例。 |
![]() |
5
-1
如果你不喜欢
这是 Nikhil's Blog . 检查一下。 |