2010-06-21 7 views

Antwort

11

Sie können System.Diagnostics nutzen und Ihre Ausnahmen mit Trace.traceError() protokollieren. Sie können dann planen, dass diese Trace-Anweisungen regelmäßig in den Tabellenspeicher hochgeladen werden (möglicherweise einmal pro Minute?), Wo Sie die Trace-Anweisungen entweder mit einer lokalen Anwendung oder einer in einer Worker-Rolle abrufen und analysieren können.

Beispiel: In der OnStart() Ihrer Worker-Rolle passen Sie den Diagnostic Manager so an, dass Ihre Trace-Daten in den Tabellenspeicher hochgeladen werden. In diesem Beispiel ist es jede Minute Hochladen auf das Konto Speicherung in DiagnosticsConnectionString angegeben (dies wird in der Standardeinstellung Speicher-zu-Punkt eingerichtet dev):

var diag = DiagnosticMonitor.GetDefaultInitialConfiguration(); 
diag.Logs.ScheduledTransferLogLevelFilter = LogLevel.Information; 
diag.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1.0); 
DiagnosticMonitor.Start("DiagnosticsConnectionString", diag); 

Dann, wenn Sie eine Ausnahme in der WCF-Dienst begegnen , melden sie es:

System.Diagnostics.Trace.TraceError("WCF Error caught: ..."); 

Schließlich entweder einen Code schreiben, um die Diagnosedaten abzufragen, oder so etwas wie die neuen integrierten Visual Studio Speicher-Explorer auf den Fehler zu sehen und zu handeln verwenden.

Verwandte Themen