2017-06-04 2 views
0

Hier schrieb ich einfach Actioon Filter AlsWie WebAPI Action Attribut

public class ActionFilter:ActionFilterAttribute 
    { 
     public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) 
     { 
      Trace.WriteLine(string.Format("Action Method {0} executing at {1}",actionExecutedContext.ActionContext.ActionDescriptor, DateTime.Now.ToShortDateString()), "Web API Logs"); 
     } 
     public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext) 
     { 
      Trace.WriteLine(string.Format("Action Method {0} executed at {1}",actionContext.ActionDescriptor.ActionName, DateTime.Now.ToShortDateString())); 
     } 

In WebAPI

[ActionFilter] 
     public IHttpActionResult GetData() 
     { 
     } 

Hier arbeiten Vor und nach aber im nicht zu verstehen, warum diese Filter Kam in Bild verwenden,

+0

Check out [ASP.NET Web API Rohrleitung] (https://www.asp.net/media/4071077/aspnet- web-api-poster.pdf) oder [Google Web API-Pipeline] (https://www.google.com/search?q=web+api+pipeline) – Igor

+0

Checkout [ASP.NET-Aktionsfilter] (https: // docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/controllers-and-routing/understanding-action-filters-cs) und sie sind so konzipiert, dass sie vor und nach der Aktion ausgeführt werden können hingerichtet. Im Fall von Autorisieren können Sie die Anforderung im Before-Handler beispielsweise ungültig machen, wenn sie nicht autorisiert ist. – Gururaj

Antwort

1

Aktion Filter werden im Grunde verwendet, um einige Logik vor und nach einer Ausführung einer Aktion auszuführen.

Lets über zwei scenerios denken:

  1. Wenn Sie Anforderung haben zu prüfen, ob ein Benutzer eine bestimmte Aktion zugreifen können, können Sie einfach den Code schreiben Sie es in OnActionExecuting zu validieren() Funktion der Code.
  2. Wenn Sie die Antwort ändern möchten, dass eine Aktivität ausgeführt werden soll, nachdem eine Aktion ausgeführt wurde, können Sie den Funktionsfilter OnActionExecuted verwenden.

Weitere Informationen über Filter Sie folgenden Link überprüfen: Action Filters

Verwandte Themen