Ich bin mir bei MVC4 nicht sicher, aber ich denke, es ist MVC5 ziemlich ähnlich. Wenn Sie ein neues Webprojekt erstellt haben -> schauen Global.asaxSie hinein und Sie sollten die folgende Zeile FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);in der Methode sehen Application_Start().
RegisterGlobalFiltersist eine Methode in der Datei FilterConfig.csim Ordner App_Start.
Wie @ YngveB-Nilsen sagte, ActionFilterAttributeist meiner Meinung nach der richtige Weg. Fügen Sie eine neue Klasse hinzu, die von abgeleitet ist System.Web.Mvc.ActionFilterAttribute. Dies ist wichtig, da dies System.Web.Http.Filters.ActionFilterAttributebeispielsweise mit der folgenden Ausnahme fehlschlägt.
Die angegebene Filterinstanz muss eine oder mehrere der folgenden Filterschnittstellen implementieren: System.Web.Mvc.IAuthorizationFilter, System.Web.Mvc.IActionFilter, System.Web.Mvc.IResultFilter, System.Web.Mvc.IExceptionFilter, System.Web .Mvc.Filters.IAuthenticationFilter.
Beispiel, das die Anforderung in das Debug-Fenster schreibt:
public class DebugActionFilter : System.Web.Mvc.ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext actionContext)
{
Debug.WriteLine(actionContext.RequestContext.HttpContext.Request);
}
}
Fügen Sie in FilterConfig-> RegisterGlobalFilters-> die folgende Zeile hinzu : filters.Add(new DebugActionFilter());.
Sie können jetzt alle eingehenden Anforderungen abfangen und ändern.