小智 0
我不确定是否有任何框架类可以处理此问题,但如果您确实需要循环遍历 IIS 服务器上为每个请求创建的会话,为什么不将每个会话存储在您自己的集合对象中,您可以从代码访问该对象?例如,在 global.asax 文件中,您可以在 Session_Start 事件中添加您自己的代码,以将特定会话保存到您的列表中。您必须检查会话是否是新会话,这可以通过 Session.IsNewSession 属性来完成。每次创建新会话时,都会触发 Global.asax 中的 Session_Start 事件。
但是,如果您在超时或结束时不从列表中删除会话,可能会出现问题,所以我可能会这样做:
在 Session_Start 事件中,检查 this.Session.IsNewSession 布尔值
如果 Session.IsNewSession 为 true,则获取当前会话(使用 this.Session,因为 Global.asax 在其上下文中具有当前新会话),并将其保存在字典对象中,键为 Session.SessionId。
这将为服务器中创建的每个会话创建一个唯一的密钥对集合。
在 Session_End 事件中,获取当前会话 (this.Session) 的 Session.SessionID 属性,即已结束的会话。
使用完成的会话值的Session.SessionID来删除包含会话的字典中的键值对。
一旦该基础设施就位,并且字典对象驻留在应用程序代码可以访问的位置,您就可以检索该字典并迭代它以使会话在该时间点在服务器中处于活动状态。
归档时间: |
|
查看次数: |
1370 次 |
最近记录: |