Ich versuche, Ausnahmen von meinem asp.net Web-API-Projekt mit Elmah zu protokollieren. Ich habe ein Problem, bei dem jeder Fehler zweimal protokolliert wird.Fehler werden zweimal bei der Verwendung von Elmah mit WebApi protokolliert
I Elmah.Contrib.Web-Api und meine Anwendungsklasse verwenden ist wie folgt:
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configuration.Filters.Add(new ElmahHandleErrorApiAttribute());
RouteTable.Routes.MapHubs();
RouteConfig.RegisterRoutes(RouteTable.Routes);
#if DEBUG
EntityFrameworkProfiler.Initialize();
#endif
GlobalConfig.CustomizeConfig(GlobalConfiguration.Configuration);
}
}
Wenn ich die folgende Zeile commment aus dann bekomme ich keine Nachrichten überhaupt:
GlobalConfiguration.Configuration.Filters.Add(new ElmahHandleErrorApiAttribute());
Und ich kann bestätigen, dass ich nur einen Fehler werfe und der Aufruf, der den Fehler erzeugt, wurde nur einmal aufgerufen und ich habe meine Controller oder Methoden nicht manuell mit dem Elmah-Attribut versehen.
Um zu versuchen und zu lösen dieses I Das Contrib-Paket entnommen und folgte den dieser das Problem nicht lösen, und es meldet sich noch zweimal http://www.tugberkugurlu.com/archive/asp-net-web-api-and-elmah-integration
hier Anleitung. Es erlaubte mir, einen Unterbrechungspunkt in die Attributklasse zu setzen und zu bestätigen, dass es für jeden Fehler zweimal aufgerufen wird.
Wie kann ich das lösen?
Ist es möglich, dass in Ihrer Datei "web.config" 2 Elmah-Fehlerprotokolleinträge eingerichtet sind? – danludwig
Ich habe es einfach überprüft, und nein es ist nur einmal drin. – Twisted
Suchen Sie noch eine Antwort auf diese – Twisted