我想了解我的网站内存使用情况,首先我想了解所有用户的会话详细信息,这将帮助我决定是否将sessionState模式更改为“SqlServer”或“StateServer”。
我该怎么办?
由于
答案 0 :(得分:1)
对于网站内存使用情况,我会看一下perfmon。如果我真的想要计算每个用户会话中使用的内存量,那么在放弃会话时不添加内存时我会这样做。如果你在整个地方都有Session [“foo”] = bar,这可能会很棘手,它需要以某种方式包裹起来。
如果您确实更改为进程外会话状态,则需要测试触及会话的所有内容。你的会话变量正在跨越流程边界,它们需要是可序列化的,并且肯定有些东西不起作用。
答案 1 :(得分:0)
我不确定这是否可以帮助您解决问题但是您可以在Session_End事件中尝试这段代码...假设此事件是从您的注销过程中触发的.. 这是会话变量可用的最后一个事件。
protected void Session_End(object sender, EventArgs e)
{
string strMessage = string.Empty;
for (int i = 0; i < this.Session.Count; i++)
{
strMessage += string.Format("Session of {0} Value is {1}", i.ToString(), this.Session[i].ToString());
strMessage += "/n";
}
}
this.Session.Count应该为您提供应用程序服务器中的会话数。仅当您的应用程序托管在单个Web服务器而不是Web服务器场中时,此解决方案才可能正常运行。我不知道如何在Web服务器场中处理会话。