MVC Web .Net:在到达控制器之前拦截所有呼叫?

Hen*_*hiu 7 .net asp.net

我有一个.Net MVC Web应用程序(非WebAPI),我希望在它们到达控制器之前拦截对Web应用程序的所有调用,检查请求头中的值,如果值不存在则执行某些操作(例如提出404).这样做的理想方法是什么?请记住,这不是Web API应用程序,只是一个简单的Web应用程序.

Man*_*eld 6

根据您的具体要求,您可以使用所有其他控制器扩展的默认控制器.这样你可以覆盖OnActionExecutingInitialize在那里进行检查.

public class ApplicationController : Controller
{
    protected override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        //do your stuff here
    }
}

public class YourController : ApplicationController
{

}
Run Code Online (Sandbox Code Playgroud)