application insights best practices
1.0.0
試圖收集使用應用程序見解的各種最佳實踐。從ASP .NET MVC和Web API項目開始,包括從社區和應用程序見解團隊收集的各種建議。
在.NET Web API項目中包括應用程序見解是一項相當簡單的任務,而Visual Studio 2015以後,它就像在新項目模板中或通過每個Web項目中的下拉菜單中的複選框一樣容易。您還可以通過添加Microsoft.ApplicationInsights.web Nuget軟件包以及其他6個依賴項來添加它。應用程序洞察力還將幫助您通過應用程序Insights擴展名來跟踪入門進度,這是VS15和VS17的一部分。但是,可能仍然需要工作以最大程度地提高您的AI體驗。
應用程序見解中的重要功能之一是查看相同操作的所有遙測,這實際上意味著對於Web API操作,每個自定義事件,依賴關係,異常,跟踪都應與請求鏈接。不幸的是,這對幾個異步方案不完全。經過一些測試後,我觀察到相關性在兩種情況下失敗:
任何Asychronous依賴性調用(httpclient,SQL調用等)
await ( new HttpClient ( ) ) . GetAsync ( "http://www.github.com" ) ;在背景線程上登錄的任何遙測(包括自定義事件,異常等)
Task . Run ( async ( ) =>
{
telemetryClient . TrackEvent ( "SampleCustomEventOnBackgroundThread" ) ;
telemetryClient . TrackException ( new System . InvalidOperationException ( "Background Thread Exception" ) ) ;
} ) ;