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

asp.net-mvc – 为什么我的会话变量在构建Controller时不可用?

发布时间:2020-12-16 09:19:02 所属栏目:asp.Net 来源:网络整理
导读:在尝试从构造函数中获取存储在Session [“objectName”]上的信息时使用ASP.NET MVC,我看到Session尚未设置,但是一旦构造了控制器,Session就会包含正确的信息. public class ABCController : Controller{ public ABCController() { var tmp = Session["Whatev
在尝试从构造函数中获取存储在Session [“objectName”]上的信息时使用ASP.NET MVC,我看到Session尚未设置,但是一旦构造了控制器,Session就会包含正确的信息.

public class ABCController : Controller
{
   public ABCController() { var tmp = Session["Whatever"]; } //This line is null
   //But I know it has information

   public ActionResult Index() { var tmp = Session["Whatever"]; } //This works fine
}

谢谢

解决方法

会话在HttpContext中找到. HttpContext作为ControllerContext的一部分提供给控制器.由于ControllerContext不作为参数传递给构造函数,因此在创建类并分配了ControllerContext之后,它才可用.但是,它应该可用于控制器上的任何方法.我不确定如何在调用类构造函数之前填充类的属性(除非它们是静态类属性,但这不是这里的情况).

(编辑:李大同)

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

    推荐文章
      热点阅读