Web-API-audit-Protokollierung
Brauche ich, um audit-Protokoll-Anrufe auf meine Web-API, idealerweise möchte ich ein Attribut verwenden, so etwas wie:
[HttpPost, Auditing]
public dynamic MyAPICall()
Dem Attribut sollte in der Lage sein, zum abfangen der API-Aufruf vor und nach der Ausführung, um sich die Parameter und auch, wie lange die API-Aufruf nahm zu laufen.
Mit MVC-ich könnte einen ActionFilterAttribute Ableitung und überschreiben OnActionExecuted und OnActionExecuting.
Ist das äquivalent möglich in der Web-API-Welt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich mit einem message-handler eher als Attribute.
LoggingHandler
in Ihremapi
controller
?Http-message-handler sollte eine gut erweiterbare Punkt für solche Zwecke. Seien Sie aber vorsichtig, kann es einige Probleme mit der gleichzeitigen Anforderung, Inhalte zu Lesen. Zum Beispiel, Binder Modell kann versuchen, Sie zu Lesen, Inhalte anfordern, während
LoggingHandler
ist, es zu Lesen und nicht zu Deserialisieren eines Modells. Um zu verhindern, dass solche Probleme nur hinzufügen, Warten Aufruf der LogRequestLoggingInfo Methode.Können Sie mehr darüber Lesen hier.
LoggingHandler
in Ihremapi
controller
?Haben Sie schaute auf die Web-API tracing service?
http://www.asp.net/web-api/overview/testing-and-debugging/tracing-in-aspnet-web-api
ITraceWriter
und Faden.CurrentPrincipal also ich habe nicht den Zuhörer.linkIch denke, Sie werden daran interessiert sein, nehmen Sie einen Blick an der Web-API-Ablaufverfolgung http://www.asp.net/web-api/overview/testing-and-debugging/tracing-in-aspnet-web-api. Es ermöglicht Ihnen die Suche in den internen Mechanismus der Web-API.
In deinem Fall, ich nehme an, Sie sind besonders interessiert, was die input-und output-Aktionen. So können Sie direkt Ihre Trace-Writer wie Folgendes Beispiel heraus zu filtern, die redundante Informationen:
Ich gearbeitet habe, eine Bibliothek, ermöglicht Ihnen die Anmeldung Interaktionen mit ASP.NET Web-API-Controller über die Aktion Filter.
Kann es aufnehmen action-Methode Anrufe mit Anrufer-info, Argumente, output, Dauer, Ausnahmen und mehr.
Werfen Sie einen Blick auf Audit.WebApi.
Können Sie schnell erstellen Sie ein Beispiel-Projekt, verwendet diese Bibliothek mit den folgenden Befehlen: