為自訂託管控制項設定增強的診斷記錄
Unified Service Desk 可讓您設定診斷記錄,將用戶端應用程式中的操作事件和錯誤記錄到記錄檔中,後續就可用來識別和疑難排解效能問題或錯誤。 如需有關診斷記錄的詳細資訊,請參閱 TechNet︰在 Unified Service Desk 中設定用戶端診斷記錄。
在 Unified Service Desk 2.2.1 版中,預先定義的託管控制項類型的診斷記錄已經過改良,可提供有關例外狀況或錯誤的豐富資訊,像是錯誤發生的來源 (託管控制項名稱、託管控制項類型、工作階段識別碼),以及有關錯誤的詳細資訊和堆疊追蹤。 豐富的診斷資訊可大幅加快在 Unified Service Desk 中識別和疑難排解問題的速度。
您可以針對自訂控制項利用預先定義託管控制項中相同的增強診斷記錄功能,使用自訂控制項程式碼中的 LogException Method 提供豐富的例外狀況資訊 (如發生的話),如此更容易識別問題是由自訂程式碼或是 Unified Service Desk 中的其他控制項所造成。
LogException Method為多載,並在內部使用 DynamicsLogger 針對自訂控制項中的例外狀況提供豐富的診斷資訊。 使用下列兩個簽章之一來使用這個方法:
傳入造成追蹤的例外狀況物件和事件類型 (選用)。 如果您未指定事件類型,預設情況下會傳遞 Error 追蹤事件類型︰
LogException(Exception ex, TraceEventType eventType = TraceEventType.Error);
傳入自訂錯誤訊息的字串值、造成追蹤的式件類型,以及例外狀況物件:
LogException(string errorMessage, TraceEventType eventType, Exception ex);
以下是診斷資訊的範例,是使用 LogException Method 的結果,其中記錄了來源 (工作階段識別碼、託管控制項名稱和類型) 的詳細資訊和例外狀況詳細資料:
Exception raised in : Session ID : d14893b0-6859-4827-9ddc-949d3fd36854 - Application : DemoControl - USD Component Type : USDHostedControl - Hosting Type : USD Hosted Control - Display Group : MainPanel -
Exception details:
Source: DemoControl
Target: Void ThrowAndLogException_Click(System.Object, System.Windows.RoutedEventArgs)
Exception: SampleLogException
StackTrace: at DemoControl.USDControl.ThrowAndLogException_Click(Object sender, RoutedEventArgs e
另請參閱
TechNet:設定 Unified Service Desk 中的用戶端診斷記錄
Unified Service Desk 託管控制項
逐步解說:建立自訂的 Unified Service Desk 託管控制項
Unified Service Desk 2.0
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權