0

在 .NET 4.0 Web 应用程序中使用 StateServer 服务时,有人知道查询所有活动会话的方法吗?

在我的场景中,当用户导航到我们的一个合作伙伴站点时,我正在设置一段会话数据。然后,合作伙伴站点会定期调用我们站点上的服务,以验证会话是否仍处于活动状态并返回一些其他数据。

当我最初使用 InProc 会话时,我设法让它工作,使用中概述的解决方案:列出所有活动的 ASP.NET 会话,但是当我切换到使用 StateServer 服务时,这些技术不起作用,我无法查询会话.

有任何想法吗?

非常感谢

4

1 回答 1

0

我建议您阅读这篇文章 -计算当前活动的会话

会话状态存储在名为 ASPState 的数据库中。该数据库包括几个存储过程,并为 TempDB 数据库创建了几个表。这些表称为 ASPStateTempApplications 和 ASPStateTempSessions。了解当前有多少会话处于活动状态就像对 AspStateTempSessions 表运行 SELECT 一样简单。如果会话在 StateServer 模式下工作,这些技巧都不起作用。

参考: 会话状态管理
安装 .NET 3.5 SP 后 ASP.NET 会话活动计数器(不是状态服务器)显示无效数字!
计算 ASP.Net中的活动会话数,与您在问题中指定的链接有些相同。

于 2012-10-18T10:41:05.550 回答