2017-10-09 84 views
0

我正在一个MVC应用程序,我必须为访问一定时间的用户存储唯一的ID,所以我在我的MVC应用程序中使用Session,但whenevr我尝试在我的会话中设置一个值,我得到一个空例外。不知道为什么,我试过System.NullRefrenceException尝试在MVC中设置会话

HttpContext.Session["demo"] = "name"; 

Session["demo1"] = "username"; 

我尝试了上述方法,但我无法在MVC应用程序中设置会话。

+0

上面的代码是在任何'Action'或简单的类文件中。 –

+0

你在哪里设置会话值?在控制器? –

+1

这种行为可能有以下几种原因:也许您没有加载任何会话状态模块,因此您根本无法使用会话,或者您尝试在模块初始化之前访问会话状态,即在ASP.net管道中太早或者你失去了与HTTP上下文的亲和力,例如通过意外切换到另一个线程。这也可能取决于您使用的是哪个版本的ASP.net以及您的服务器是如何配置的。 – Peit

回答

0

我在构造函数上调用了这个方法,这就是我无法获取会话的原因,一旦我将代码移动到Action中,一切工作正常。 谢谢大家