ASP.Net - 会话限制

时间:2011-07-15 21:09:32

标签: c# asp.net session

  

可能重复:
  ASP.NET Session size limitation

我正在构建一个asp.net c#webforms应用程序。 我想知道你用于会话处理的最佳包装类吗? 我们可以在会话中存储多少数据?有什么限制?

2 个答案:

答案 0 :(得分:1)

您可以查看此帖子

ASP.NET Session size limitation

至于包装类,你真的不需要做很多事情。我通常发现最好只有一个类访问会话。我通常使用静态属性来检索我想要的对象。

public static class MyData
{
    public static MyObject Item1 { 
        get { return HttpContext.Current.Session["DataKey"] as MyObject;}
        set { HttpContext.Current.Session["DataKey"] = value;}
    }
}

显然,您可以根据需要修改模式以自动构建对象。

答案 1 :(得分:1)

在会话中存储大量数据时要非常小心。记住,只要该人的“会话”处于活动状态,会话就会持续。您可能有一台服务器可以每秒执行200个请求,但您可能有15,000个人同时维护会话。假设您正在使用会话的默认值(即服务器内存),您可能会很快发现服务器内存不足。

这听起来很奇怪,但为了扩展性,请仔细查看将内容存储在Cookie和/或数据库中。