【发布时间】:2010-09-19 21:32:16
【问题描述】:
当您使用 StateServer 时,如何找出活跃用户的数量?也可以查询 StateServer 并检索 Session State 中的内容吗?
我知道如果您使用 SqlServer 作为后备存储,这一切都是可能的,但我希望它们在内存中。
【问题讨论】:
标签: asp.net stateserver
当您使用 StateServer 时,如何找出活跃用户的数量?也可以查询 StateServer 并检索 Session State 中的内容吗?
我知道如果您使用 SqlServer 作为后备存储,这一切都是可能的,但我希望它们在内存中。
【问题讨论】:
标签: asp.net stateserver
需要在应用程序级别而不是会话级别跟踪用户数量。
您应该能够通过以下内容查看当前会话中的内容:
StringBuilder builder = new StringBuilder();
foreach ( String key in Session.Contents ) {
builder.AppendFormat("{0}: {1}<br />", key, Session[key]);
}
Response.Write(builder.ToString());
【讨论】:
状态服务器中的活动会话数可以通过运行状态服务器的服务器上的性能计数器轻松查看。这并不直接等同于活跃用户(由于会话超时时间)
活动会话的计数器是:“Asp.net”-“状态服务器会话活动”
供参考,这里是所有State Server相关的性能计数器,来自http://msdn.microsoft.com/en-us/library/fxk122b4.aspx
状态服务器会话被放弃 已明确放弃的用户会话数。这些是由特定用户操作结束的会话,例如关闭浏览器或导航到另一个站点。此计数器仅在运行状态服务器服务 (aspnet_state) 的计算机上可用。
状态服务器会话活动 当前活动的用户会话数。此计数器仅在运行状态服务器服务 (aspnet_state) 的计算机上可用。
状态服务器会话超时 由于用户不作为而变为非活动的用户会话数。此计数器仅在运行状态服务器服务 (aspnet_state) 的计算机上可用。
状态服务器会话总数 在进程生命周期内创建的会话数。此计数器是 State Server Sessions Active、State Server Sessions Abandoned 和 State Server Sessions Timed Out 的总值。此计数器仅在运行状态服务器服务 (aspnet_state) 的计算机上可用。
【讨论】: