当你使用StateServer的时候,你怎么知道活跃用户的数量呢?还可以查询StateServer并检索会话状态中的内容吗?
我知道,如果您使用SqlServer作为后备存储,这一切都是可能的,但我希望它们在内存中。
发布于 2008-10-29 22:33:25
跟踪用户数量需要在应用程序级别进行,而不是在会话级别。
您应该能够使用以下内容查看当前会话中的内容:
StringBuilder builder = new StringBuilder();
foreach ( String key in Session.Contents ) {
builder.AppendFormat("{0}: {1}<br />", key, Session[key]);
}
Response.Write(builder.ToString());发布于 2010-01-21 05:53:36
可以使用运行State Server的服务器上的性能计数器轻松查看State server中的活动会话数量。这并不直接等同于活动用户(由于会话超时时间)
活动会话的计数器为:"Asp.net“-”状态服务器会话活动“
作为参考,以下是来自http://msdn.microsoft.com/en-us/library/fxk122b4.aspx的所有与状态服务器相关的性能计数器
状态服务器会话已放弃已显式放弃的用户会话数。这些会话由特定的用户操作结束,例如关闭浏览器或导航到另一个站点。此计数器仅在运行状态服务器服务(aspnet_state)的计算机上可用。
状态服务器会话数Active当前活动的用户会话数。此计数器仅在运行状态服务器服务(aspnet_state)的计算机上可用。
状态服务器会话超时由于用户不执行操作而变为不活动的用户会话数。此计数器仅在运行状态服务器服务(aspnet_state)的计算机上可用。
状态服务器会话总数在进程生存期内创建的会话数。此计数器是状态服务器会话处于活动状态、状态服务器会话已放弃和状态服务器会话超时的总值。此计数器仅在运行状态服务器服务(aspnet_state)的计算机上可用。
https://stackoverflow.com/questions/248535
复制相似问题