加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – asp.net mvc在控制器构建期间的任何时候都可以使

发布时间:2020-12-16 07:21:49 所属栏目:asp.Net 来源:网络整理
导读:我试图在控制器和ControllerContext的构造函数中访问Session变量,它似乎总是为null. 最早的会话变量何时可用? 谢谢! 编辑:示例: 在一个控制器中: public HomeController() { MyClass test = (MyClass)ControllerContext.HttpContext.Session["SessionCl
我试图在控制器和ControllerContext的构造函数中访问Session变量,它似乎总是为null.

最早的会话变量何时可用?

谢谢!

编辑:示例:

在一个控制器中:

public HomeController()
    {
        MyClass test =   (MyClass)ControllerContext.HttpContext.Session["SessionClass"];
    //ControllerContext always null           
    }

在调试时,controllercontext始终为null.在actionresult重定向到此控制器的控制器中,我有:

Session["SessionClass"] = class;

MyClass test = (MyClass )ControllerContext.HttpContext.Session["SessionClass"]; 
// this works fine! i can get varibale from session

return RedirectToAction("Index","Home");

那么,ControllerContext在什么时候实际设置?我什么时候可以访问会话变量?

解决方法

覆盖 Initialize():

protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
    base.Initialize(requestContext);
    requestContext.HttpContext.Session["blabla"] = "hello"; // do your stuff
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读