asp.net mvc的是会话可在任何时候控制施工过程中? [英] asp.net mvc is Session available at any point during controller construction?
问题描述
我试图访问控制器的构造Session变量和ControllerContext似乎总是空。
i am trying to access Session variables in the constructor of a controller and ControllerContext it seems is always null.
当是最早的会话变量可用呢?
When is the earliest the session variables are available?
谢谢!
编辑:例如:
在一个控制器:
public HomeController()
{
MyClass test = (MyClass)ControllerContext.HttpContext.Session["SessionClass"];
//ControllerContext always null
}
在调试的时候,controllercontext始终为空。在他们的ActionResult重定向到该控制器的控制,我有:
when debugging, controllercontext is ALWAYS null. In the controller whose actionresult redirects to this controller, i have:
Session["SessionClass"] = class;
MyClass test = (MyClass )ControllerContext.HttpContext.Session["SessionClass"];
// this works fine! i can get varibale from session
return RedirectToAction("Index", "Home");
那么,在什么点ControllerContext实际设置?我什么时候可以访问会话变量?
So, at what point is ControllerContext actually set? When can I access session variables?
推荐答案
覆盖<一个href=\"http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.initialize.aspx\">Initialize():
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
requestContext.HttpContext.Session["blabla"] = "hello"; // do your stuff
}
这篇关于asp.net mvc的是会话可在任何时候控制施工过程中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!