【发布时间】:2015-02-12 20:52:43
【问题描述】:
我正在尝试在已经编写好的抽象类中设置会话。我想做的是; 首先,我尝试检查方法类型是 get 还是 post。如果是 GET 方法,则设置会话。
代码如下:
public abstract class BaseAbstractController : Controller
{
public BaseAbstractController()
{
if (this.HttpContext.Request.HttpMethod.ToString() == "GET")
{
this.HttpContext.Session["testsession"] = this.HttpContext.Request.Url.AbsolutePath;
}
}
}
我面临的问题是,我收到 Null 异常错误,这是因为 HTTPContext 值为 null。
目前只有一个从抽象控制器扩展而来的 MVC 控制器。
【问题讨论】:
-
何时何地调用?
-
没有调用这个方法。另一个控制器只是从它扩展而来。
-
是的,该控制器的构造函数将其称为基本构造函数。但是该控制器何时初始化以及从何处初始化?话虽如此,我对MVC并不熟悉。但显然在这一点上没有当前的
HttpContext或HttpContext.Request。使用调试器,在构造函数的第一行设置断点。 -
我的猜测是,MVC 或某些依赖注入器正在这样做。可能我需要重写执行/初始化函数以使 httpcontext 工作?
标签: c# asp.net-mvc