2010-03-10 53 views
1

我试图存储对象的会话..asp.net的MVC尝试使用会话,但controllercontext是空

在一个控制器中,我创建对象并把它放在会议。

MyObject _o = new MyObject(); 
Session["MyObject"] = _o; 
MyObject _oo = (MyObject)Session["MyObject"]; // added for testing purposes, is not null 

我可以在同一控制器中从会话中检索对象。

然后我重定向到另一个控制器上的操作方法,并在基本控制器中尝试访问ControllerContext.HttpContext.Session,它始终为空。

if(_obj == null) 
{ 
    _obj = (MyObject)Session["MyObject"]; // always null 
} 

有什么想法为什么?

感谢:-)

+0

等待,MyObject是一个对象还是一个类型?它第一次用作对象,但是第二次将它用作投射类型。 – 2010-03-10 20:28:16

+0

我刚刚更改了对象名称以清除内容,谢谢 – 2010-03-10 20:31:17

+0

没有足够的信息在您的问题。从你描述的应该可以正常工作。 – 2010-03-10 21:59:26

回答

1

何时访问会话对象?

HttpContext在Controller.Initialize()后初始化。