session过多可以用什么方法解决? 刚到一新公司~看到其中一个系统用了超多session~平均一个页面不会少于10个~大部分session都是保存一些简单信息~貌似访问量也不算少~这样内存太无辜了~请问有什么什么好方法可以解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <summary> /// 管理员状态 /// </summary> public class CAdminState { private static Dictionary<string, string> LoginInfo { get { Dictionary<string, string> GetDictionary = HttpContext.Current.Session["GetDictionary"] as Dictionary<string, string>; if (GetDictionary == null) { GetDictionary = new Dictionary<string, string>(); HttpContext.Current.Session["GetDictionary"] = GetDictionary; } return GetDictionary; } } private static int? IntNull = null; /// <summary> /// 编号 /// </summary> public static int? ID { set { LoginInfo["ID"] = value.ToString(); } get { return LoginInfo.ContainsKey("ID") ? Convert.ToInt32(LoginInfo["ID"]) : IntNull; } } /// <summary> /// 用户名 /// </summary> public static string UserName { set { LoginInfo["UserName"] = value; } get { return LoginInfo.ContainsKey("UserName") ? LoginInfo["UserName"] : String.Empty; } } /// <summary> /// 权限组 /// </summary> public static int? PermissionGroupID { set { LoginInfo["PermissionGroupID"] = value.ToString(); } get { return LoginInfo.ContainsKey("PermissionGroupID") ? Convert.ToInt32(LoginInfo["PermissionGroupID"]) : IntNull; } } /// <summary> /// 子用户 /// </summary> public static string ChildUsers { set { LoginInfo["ChildUsers"] = value; } get { return LoginInfo.ContainsKey("ChildUsers") ? LoginInfo["ChildUsers"] : String.Empty; } } /// <summary> /// 权限 /// </summary> public static string Permissions { set { LoginInfo["Permissions"] = value; } get { return LoginInfo.ContainsKey("Permissions") ? LoginInfo["Permissions"] : String.Empty; } } /// <summary> /// 公司名称 /// </summary> public static string CompanyName { set { LoginInfo["CompanyName"] = value; } get { return LoginInfo.ContainsKey("CompanyName") ? LoginInfo["CompanyName"] : String.Empty; } } /// <summary> /// 清除状态 /// </summary> public static void ClearState() { LoginInfo.Clear(); } }直接调用属性即可所以信用保存在键值对里,再把键值对保存到Session中,通过引用的方式实现值的存取,这样只占用一个session 你地意思是session只保存键,然后根据键找到值?~~貌似这样没有变化的~ 是一个Session 存了很多个 数据吧?! 怎样批量下载文件 求教一个 select语句 求高手指点:DATALIST分页问题 iis 部署问题 急。。。 网站自动发短信功能 如何判断我输入的字符是汉字 如何用客户端脚本找到DataGrid中得ID并且对其进行操作 ASP.NET 技术与技巧哪里有下载阿 ※※※WebGrid.NET 难题!(自定义列)※※※ .NET通用权限系统快速开发框架 oracle数据库联合查询起别名问题 关于网页用DIY功能和在线竞拍功能
/// <summary>
/// 管理员状态
/// </summary>
public class CAdminState
{
private static Dictionary<string, string> LoginInfo
{
get
{
Dictionary<string, string> GetDictionary = HttpContext.Current.Session["GetDictionary"] as Dictionary<string, string>;
if (GetDictionary == null)
{
GetDictionary = new Dictionary<string, string>();
HttpContext.Current.Session["GetDictionary"] = GetDictionary;
}
return GetDictionary;
}
} private static int? IntNull = null;
/// <summary>
/// 编号
/// </summary>
public static int? ID
{
set
{
LoginInfo["ID"] = value.ToString();
}
get
{
return LoginInfo.ContainsKey("ID") ? Convert.ToInt32(LoginInfo["ID"]) : IntNull;
}
}
/// <summary>
/// 用户名
/// </summary>
public static string UserName
{
set
{
LoginInfo["UserName"] = value;
}
get
{
return LoginInfo.ContainsKey("UserName") ? LoginInfo["UserName"] : String.Empty;
}
} /// <summary>
/// 权限组
/// </summary>
public static int? PermissionGroupID
{
set { LoginInfo["PermissionGroupID"] = value.ToString(); }
get { return LoginInfo.ContainsKey("PermissionGroupID") ? Convert.ToInt32(LoginInfo["PermissionGroupID"]) : IntNull; }
} /// <summary>
/// 子用户
/// </summary>
public static string ChildUsers
{
set
{
LoginInfo["ChildUsers"] = value;
}
get
{
return LoginInfo.ContainsKey("ChildUsers") ? LoginInfo["ChildUsers"] : String.Empty;
}
} /// <summary>
/// 权限
/// </summary>
public static string Permissions
{
set { LoginInfo["Permissions"] = value; }
get { return LoginInfo.ContainsKey("Permissions") ? LoginInfo["Permissions"] : String.Empty; }
} /// <summary>
/// 公司名称
/// </summary>
public static string CompanyName
{
set { LoginInfo["CompanyName"] = value; }
get { return LoginInfo.ContainsKey("CompanyName") ? LoginInfo["CompanyName"] : String.Empty; }
} /// <summary>
/// 清除状态
/// </summary>
public static void ClearState()
{
LoginInfo.Clear();
}
}直接调用属性即可
所以信用保存在键值对里,再把键值对保存到Session中,通过引用的方式实现值的存取,这样只占用一个session
你地意思是session只保存键,然后根据键找到值?~~貌似这样没有变化的~