当前位置:  开发笔记 > 编程语言 > 正文

HttpContext.Current.Session - NullReferenceException

如何解决《HttpContext.Current.Session-NullReferenceException》经验,为你挑选了1个好方法。

我一直在体验一个对象引用未设置为我的MVC 4 ASP.NET项目的Settings类中的对象错误的实例,它获取我的当前会话详细信息.每次我浏览一个页面变量抛出NullReferenceException异常,并不能明白为什么,因为它是没有任何问题的工作以前完善.

namespace TracerCRM.Web
{
    public class Settings
    {
        public static Settings Current
        {
            get
            {
                Settings s = HttpContext.Current.Session["Settings"] as Settings;
                if (s == null)
                {
                    s = new Settings();
                    HttpContext.Current.Session["Settings"] = s;
                }

                return s;
            }
        }
    }
}

我尝试过以下在研究中遇到的事情:

1:"HttpContext.Current.Session"vs Global.asax"this.Session"

2:罕见的System.NullReferenceException显示以前填充的HttpContext.Current.Session ["courseNameAssociatedWithLoggedInUser"]?

3:部署到IIS 7后,ASP.NET MVC 4 Web应用程序中的Session对象为空(W 2008 R2)

4:在ASP.NET MVC会话到期时关闭用户

5:在asp.net mvc 3中重定向到操作时,登录会话有时会丢失

以上都不适合我.



1> mybirthname..:
        public static Settings Current
        {
            get
            {
                if(HttpContext.Current.Session == null)
                {
                     Settings s = new Settings();
                     return s;
                }
                if (HttpContext.Current.Session["Settings"] == null)
                {
                    Settings s = new Settings();
                    HttpContext.Current.Session["Settings"] = s;
                    return s;
                }

                return (Settings)HttpContext.Current.Session["Settings"];
            }
        }

Session["Settings"]当它为null时,您将包装到Setting类.如果您更改这样的代码它应该工作.

学会将来使用调试,你会很快解决这样的错误!

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有