从Initialize方法返回HttpStatusCode.BadRequest

时间:2017-06-30 10:38:42

标签: asp.net-mvc http-status-codes asp.net-mvc-controller

我想从Initialize方法返回BadRequest状态代码。我明白了,我怎么能从任何Action(返回新的HttpStatusCodeResult(HttpStatusCode.BadRequest))中做到这一点,但是如何从Initialize中做到这一点?我尝试以下方法:

requestContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;

但我得到

  

异常详细信息:System.NullReferenceException:不是对象引用   设置为对象的实例。

如果我不打电话

base.Initialize(requestContext);

2 个答案:

答案 0 :(得分:0)

根据设计,您应该覆盖Initialize方法并在基本方法上调用它,以便控制器获取http上下文。

https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.initialize(v=vs.118).aspx

答案 1 :(得分:0)

您可以使用HttpContext.Current;

HttpContext.Current.Response.StatusCode = (int)HttpStatusCode.BadRequest; HttpContext.Current.Response.End(); return;