Ond*_*rka 3 asp.net iis session session-cookies
我有一个 asp.net web 应用程序,它使用状态服务器来存储其会话。当我们更改会话中存储的某种类型时,所有具有活动会话的用户都会出错,因为“旧会话”包含“旧类型”的实例。
我认为克服这个问题的最简单方法是重新启动状态服务器,从而摆脱所有会话。然而,这被认为是一种幼稚的方法。会话似乎仍然处于活动状态(具有会话旧 cookie 的用户仍然能够工作)。是否有其他方法可以强制会话状态服务器丢弃所有会话,以便为旧用户分配新会话?如果他们被迫再次进行身份验证,那也没关系。
或者是否有其他(更好的)方法可以放弃所有会话?理想情况下不是以编程方式,但我们的管理员可以做些什么?
的程序化的方法来woudl调用可能Session.RemoveAll在Application_End会解决这一问题,卜本标准的做法?
如果不在内存中(在重新启动时应该停止存在),会话将存储在状态服务器中的何处?
我发现了两个相关的问题:
在应用程序启动时清除所有会话- 这是相当不完整的编程解决方案
如何清除 ASP.NET 中所有用户的 SQL 会话状态- 如果我有一个存储会话数据的 sql server 方法,这正是我所需要的
好的,所以看起来(经过一些实验),会话状态服务器的重新启动会丢弃会话中的所有数据。
尽管如此,用户在重新启动后仍然具有有效的会话 ID,这让我最初认为会话不会被丢弃。
我想如果从用户发送的会话 ID 没有分配给某个现有会话,那么它会被重新用于新会话,因此用户仍然使用相同的 ID 进行操作。然而,会话中的数据被清除。
| 归档时间: |
|
| 查看次数: |
5562 次 |
| 最近记录: |