8
Lưu ý rằng đây là cho một ApiController trong MVC 4 mặc dù tôi nghĩ rằng nó không nên thay đổi bất cứ điều gì.Cách đúng để tăng ngoại lệ trong một ASP.NET MVC 4 ActionFilterAttribute
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.
}
}
}
Việc ném 'HttpResponseException' không ** không ** hoạt động, vì nó nằm trong API Web, chứ không phải MVC. Vì vậy, nó sẽ được xử lý bởi MVC như bất kỳ ngoại lệ unhandled dẫn đến một HTTP 500. –
Trong MVC bạn có thể sử dụng 'return new HttpStatusCodeResult (HttpStatusCode.Unauthorized);' trong một Action – bnu