在做ASP.NET MVC程序时发现,在控制器类里面,只要引用了System.Web命名空间,就可以直接在action方法中以 Session["userName"] 这样的形式调用,但是在非控制器类(一个单独的类库项目中的类)中,引用了System.Web命名空间后,Session["userName"] 却会报错,提示 :“当前上下文中不存在Session”
解决:正如错误提示信息所说的一样,“当前上下文中不存在Session” ,注意“当前上下文” ,Session是存在于httpContext上下文对象里面的,单独的类里面要这样引用:httpContext.Session["userName"]