3 回答
TA贡献2012条经验 获得超12个赞
可能有用。我需要在控制器的构造函数中执行操作,该操作出现在MVC生命周期的这一点,this尚未初始化,并且ControllerContext = null。我没有研究MVC生命周期并找到要覆盖的适当函数名称,而是在中找到了操作RequestContext.RouteData。
但是,为了这样做,就像HttpContext构造函数中的任何相关用法一样,您必须指定完整的名称空间,因为this.HttpContext还没有初始化。幸运的是,它似乎System.Web.HttpContext.Current是静态的。
// controller constructor
public MyController() {
// grab action from RequestContext
string action = System.Web.HttpContext.Current.Request.RequestContext.RouteData.GetRequiredString("action");
// grab session (another example of using System.Web.HttpContext static reference)
string sessionTest = System.Web.HttpContext.Current.Session["test"] as string
}
注意:可能不是访问HttpContext中所有属性的最受支持的方法,但是对于RequestContext和Session,它似乎在我的应用程序中可以正常工作。
- 3 回答
- 0 关注
- 478 浏览
添加回答
举报