2017-02-20 40 views
2

我有一個WPF應用程序,我想使用Application Insights進行監視。我想將每個用戶操作分組爲一個請求,並嵌入自定義事件和依賴關係調用。從我在documentation中讀到的操作環境應該是正確的路要走。我寫了下面的代碼:不幸的是,當我檢查Application Insights門戶時,「我的測試事件」沒有作爲請求事件的相關事件出現。我試驗了一下,發現如果我手動設置操作性質的事件成爲相關:使用操作上下文跟蹤相關事件的問題

​​

但我有一種感覺,它不應該是這樣的。所以我的問題是:有人能指出我在第一個片段中做錯了什麼嗎? TelemetryClient上是否有一些神奇的設置,使其具有文檔中所述的功能?

+1

它只在ASP.Net上下文中默認生成。請參閱https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-custom-events-metrics#operation-context:您可以通過將遙測項目附加到一個常用操作ID。標準的請求跟蹤模塊對正在處理HTTP請求時發送的異常和其他事件執行此操作。在我的WinForm應用程序中,我也必須自己設置它。 –

+0

謝謝@PeterBons。看起來這個手動程序是必須的。我會重構代碼,使其看起來更好。您可以將您的評論作爲答案,我會接受它。 – lowleveldesign

回答

2

確保同一上下文中所有輸出遙測具有相同操作ID,名稱等的相對簡單的方法是使用具有CallContext的TelemetryInitializer。

This is a really good blog post顯示如何做到這一點。

+0

這實際上是一個不錯的主意。謝謝! – lowleveldesign