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" ) ) ;
} ) ;