Ich habe eine C# -WebService-Anwendung, in der ich alle nicht behandelten Ausnahmen erfassen möchte, die von der Anwendung ausgelöst werden.Erfassen Sie alle nicht behandelten Ausnahmen automatisch mit WebService
Wie kann ich das tun?
Ich habe eine C# -WebService-Anwendung, in der ich alle nicht behandelten Ausnahmen erfassen möchte, die von der Anwendung ausgelöst werden.Erfassen Sie alle nicht behandelten Ausnahmen automatisch mit WebService
Wie kann ich das tun?
Aus irgendeinem Grund wird das Application_Error-Ereignis für Webdienste nicht ausgelöst (siehe other question). Herr Jeff Atwood hat selbst einen Ratschlag geschrieben on the coding horror blog.
Er schreibt:
* Setzen Sie ein try..catch um jede WebService-Methode. Diese Methoden neigen dazu, Wrapper um andere Klassen herum zu sein, also ist das nicht ganz so schlimm wie es klingt, aber es ist immer noch nicht gut.
* Verwenden Sie ein Fassadenentwurfsmuster, um alle Objekte von übergeordneten Objekten abzuleiten, die ... im Prinzip eine try..catch für die .Execute-Methode ausführen. Äh, danke aber nein danke.
* Schreiben Sie eine benutzerdefinierte SOAP-Erweiterung oder HttpModule. Das klingt vernünftig, aber ... schwer. Wenn es eine so coole, wichtige Erweiterung oder HttpModule ist, hätte es nicht schon jemand geschrieben?
Ein Weg wird sein, AppDomain.UnhandledException
Ereignis irgendwo in App_Start
Handler zu abonnieren.