请注意,这是针对 MVC 4 中的 ApiController 的,尽管我认为它不应该改变任何东西。
public class OAuthFilter : System.Web.Http.ActionFilterAttribute
{
public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
{
if (checkVerified())
{
// How to raise a 401 or some other type of exception.
}
}
}
最佳答案
您可以设置 HttpActionContext
的结果属性:
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (checkVerified())
{
actionContext.Response =
new HttpResponseMessage(HttpStatusCode.Unauthorized);
}
}
你可能只是扔:
throw new HttpResponseException(HttpStatusCode.Unauthorized);
但我还没有检查过那个。
关于c# - 在 ASP.NET MVC 4 ActionFilterAttribute 中引发异常的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9916143/