我正在运行几个具有InProc会话状态的ASP.NET网站,我想检索每个网站的活动会话数,并希望每个会话周围的任何细节(例如客户端连接详细信息)。 我的最终目标是能够看到谁连接到网站,以便在部署更新时通知他们。
有没有办法在.NET中执行此操作而不诉诸SQL会话状态?我查看了Microsoft.Web.Administration,但找不到办法。而perfmon中的“Sessions Active”性能计数器只提供整个服务器的总会话数(以及不提供有关会话的任何元数据)。
编辑:在我的性能计数器测试中,当我应该使用Sessions Active实例测试我的网站时,我测试了总会话活动。这让我更接近,但如果可能的话,我仍然希望实际检索网站的会话信息。
答案 0 :(得分:0)
会话是一个概念,而不是一个现实。您可以将asp.net global.asax伪事件用于会话开始/结束来跟踪此概念,但它仍然只是一个近似值。我认为您最好的选择是打开“正在进行维护”标志,并在请求管道中放入一些内容,以便为所有传入请求处理它。
不知道你会怎么做什么,但我认为你会在这里推出一些自定义代码。