2010-06-21 9 views

Respuesta

11

Puede aprovechar System.Diagnostics y registrar sus excepciones con Trace.traceError(). A continuación, puede programar estas declaraciones de seguimiento para que se carguen periódicamente en el almacenamiento de tablas (¿quizás una vez por minuto?), Donde puede recuperar y analizar las instrucciones de seguimiento con una aplicación local o una ejecutándose en un rol de trabajador.

Por ejemplo: en OnStart() de su rol de trabajador, personalice el Administrador de diagnósticos para cargar sus datos de rastreo en el almacenamiento de tablas. En este ejemplo, está la posibilidad de subir cada minuto, a la cuenta de almacenamiento especificado en DiagnosticsConnectionString (esto es, por defecto, configurado para apuntar a dev almacenamiento):

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

Entonces, cada vez que se encuentra con una excepción en su servicio WCF , registrarlo:

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

por último, ya sea escribir un código para consultar los datos de diagnóstico, o usar algo como el nuevo explorador incorporado Estudio de almacenamiento visual para ver y actuar sobre los errores.

Cuestiones relacionadas