会话变量抛出nullreference异常

本文关键字:nullreference 异常 变量 会话 | 更新日期: 2023-09-27 18:18:26

我有一个使用ASP MVC4的web应用程序

我将会话变量设置在

protected void Session_Start()
    {
        Session["__UserLanguage"] = "EN";
    }

我在控制器上使用它

private void AddTranslation()
{
   string language = Request.Form["Language"];
   if (language != null)
   {
       Session["__UserLanguage"] = language;
   }
   else
   {
       language = Session["__UserLanguage"] as string;
   }
}

但是当我在IIS上发布它时,它返回

System.NullReferenceException: Object reference not set to an instance of an object.

当我想把它放到控制器

Session["__UserLanguage"] = language;

为什么?:"(

EDIT:事实上调试Session_Start()没有在我的应用程序中使用…这怎么可能?

EDIT 2:添加

<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition=""  />

这解决了我的问题!为什么不直接添加visual studio:

会话变量抛出nullreference异常

添加

<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition=""  />

这解决了我的问题!