首页新闻找找看学习计划

asp.net用户信息保存的session中,用静态类还是普通的类内存消耗少。由于是登录信息会频繁访问

0
悬赏园豆:20 [已解决问题] 解决于 2017-02-21 18:09
 public static class ViewsHelper
    {
        /// <summary>
        /// 获取当前用户信息
        /// </summary>
        public static UserInfo CurrentUser
        {
            get
            {
                if (HttpContext.Current.Session["UserInfo"] != null)
                {
                    userInfo model = HttpContext.Current.Session["UserInfo"];//获取到用户信息
                    return model;
                }
                else {
                    userInfo model = new userInfo();//获取到用户信息
                    HttpContext.Current.Session["UserInfo"] = model;
                    return model;
                }
            }
            set
            {
                HttpContext.Current.Session["UserInfo"] = value;
            }
        }
    }

把static去掉,内存消耗会不会减少。

学之乐的主页 学之乐 | 初学一级 | 园豆:45
提问于:2017-02-21 15:20
< >
分享
最佳答案
0

静态类的静态方法要好一些。实例类的静态方法也可以。这种结构的内存消耗可以忽略不计。但是用非静态类的非静态方法,内存就会有所上升了。

收获园豆:20
沧海一杰 | 初学一级 |园豆:28 | 2017-02-21 15:31

如果你的程序遇到了内存问题,你应该考虑你的 new userInfo() 这个类是否结构过于庞大。如果它的结构不是很大,用户占用的内存就不是性能瓶颈。

沧海一杰 | 园豆:28 (初学一级) | 2017-02-21 15:32
其他回答(2)
0

不会,字数补丁


长蘑菇星人 | 园豆:1820 (小虾三级) | 2017-02-21 15:23
0

....会想这种问题的人都没有想这种问题的水平.

吴瑞祥 | 园豆:28731 (高人七级) | 2017-02-21 16:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册