为什么在asp.net-mvc项目中,我的会话变量在Controller构建阶段始终无法正常访问?

2026-03-30 11:391阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计244个文字,预计阅读时间需要1分钟。

为什么在asp.net-mvc项目中,我的会话变量在Controller构建阶段始终无法正常访问?

在尝试从构造函数中获取存储在Session中的信息时,使用ASP.NET MVC时发现Session尚未设置。但一旦构建了控制器,Session就会包含正确的信息。以下是修改后的代码示例:

csharppublic class ABCController : Controller{ public ABCController() { // 构造函数中尝试从Session获取信息 if (Session[objectName]==null) { // 如果Session中无信息,则进行初始化 } else { // 从Session中获取信息 } }}

在尝试从构造函数中获取存储在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 }

谢谢

为什么在asp.net-mvc项目中,我的会话变量在Controller构建阶段始终无法正常访问?

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

本文共计244个文字,预计阅读时间需要1分钟。

为什么在asp.net-mvc项目中,我的会话变量在Controller构建阶段始终无法正常访问?

在尝试从构造函数中获取存储在Session中的信息时,使用ASP.NET MVC时发现Session尚未设置。但一旦构建了控制器,Session就会包含正确的信息。以下是修改后的代码示例:

csharppublic class ABCController : Controller{ public ABCController() { // 构造函数中尝试从Session获取信息 if (Session[objectName]==null) { // 如果Session中无信息,则进行初始化 } else { // 从Session中获取信息 } }}

在尝试从构造函数中获取存储在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 }

谢谢

为什么在asp.net-mvc项目中,我的会话变量在Controller构建阶段始终无法正常访问?

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