Dot-Net

如何記錄在 Azure 上部署的 WCF 服務中擷取的異常

  • June 21, 2010

記錄在雲上託管的 WCF 服務中擷取的異常的最佳方法是什麼?

您可以利用 System.Diagnostics 並使用Trace.traceError(). 然後,您可以安排這些跟踪語句定期上傳到表儲存(可能每分鐘一次?),然後您可以使用本地應用程序或以工作角色執行的應用程序檢索和分析跟踪語句。

例如:在您的工作角色的 OnStart() 中,自定義診斷管理器以將您的跟踪數據上傳到表儲存。在此範例中,它每分鐘上傳一次到 DiagnosticsConnectionString 中指定的儲存帳戶(預設情況下,設置為指向開發儲存):

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

然後,每當您在 WCF 服務中遇到異常時,記錄它:

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

最後,要麼編寫一些程式碼來查詢診斷數據,要麼使用新的內置 Visual Studio 儲存資源管理器之類的東西來查看錯誤並採取行動。

引用自:https://stackoverflow.com/questions/3083577