我正在构建一个asp.net c#webforms应用程序。 我想知道你用于会话处理的最佳包装类吗? 我们可以在会话中存储多少数据?有什么限制?
答案 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和/或数据库中。