2010-06-21 5 views

Répondre

11

Vous pouvez tirer parti de System.Diagnostics et consigner vos exceptions avec Trace.traceError(). Vous pouvez ensuite planifier le chargement périodique de ces instructions de trace dans le stockage de table (peut-être une fois par minute?), Où vous pouvez récupérer et analyser les instructions de trace soit avec une application sur site, soit avec un rôle de travail. Par exemple: dans votre OnStart() de votre rôle de travail, personnalisez le Gestionnaire de diagnostics pour télécharger vos données de trace dans la table de stockage. Dans cet exemple, il est le téléchargement de chaque minute, pour le compte de stockage spécifié dans DiagnosticsConnectionString (ce qui est, par défaut, mis en place pour pointer vers dev stockage):

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

Ensuite, chaque fois que vous rencontrez une exception dans votre service WCF , connectez-il:

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

Enfin, soit écrire un code pour interroger les données de diagnostic, ou utiliser quelque chose comme le nouveau intégré dans l'explorateur de stockage Visual studio pour voir et agir sur les erreurs.

Questions connexes