我有一个使用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;
为什么? :'(
编辑:实际上调试后我的应用程序中没有使用Session_Start()......怎么可能?
添加后编辑2:
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="" />
这解决了我的问题!为什么这不是由visual studio直接添加的:(
答案 0 :(得分:1)
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="" />
这解决了我的问题!