我正在开发一个 MVC3 项目(Razor)。
我在一些控制器/操作中向我的会话添加了一个变量(每个用户不同)。
我想在Application_AuthenticateRequest
方法(global.asax)中访问这个变量。
发生了这个异常:
会话状态在此上下文中不可用。
我正在开发一个 MVC3 项目(Razor)。
我在一些控制器/操作中向我的会话添加了一个变量(每个用户不同)。
我想在Application_AuthenticateRequest
方法(global.asax)中访问这个变量。
发生了这个异常:
会话状态在此上下文中不可用。
有关开始,请参阅https://stackoverflow.com/a/4185982/717732
关键是它Session
不可用,并且在这个时间点永远不会可用:“时间”是指“当这个事件被触发时”。
例如在 devproconnections.com/article/aspnet2/ 上阅读生命周期
Session 对象是在很晚才准备好的:在AcquireRequestState
活动期间。这是您第一次可以访问 Session 状态包并对其进行调查。
谢谢 quetzalcoatl,这是真的。
try
{
if (Session != null)
{
if (Session["mys"] != null)
{
//Error
string s = HttpContext.Current.Session["mys"].ToString();
}
else
{
Response.Redirect("~/Home/Index");
Response.End();
}
}
}
catch {
Response.Redirect("~/Home/Index");
Response.End();
}