AspNet核心AppInsights集成

时间:2018-06-24 06:14:56

标签: asp.net-core inversion-of-control azure-application-insights simple-injector telemetry

我正在将应用程序见解集成到我们的AspNet Core应用程序(Target Framework .Net 4.7.1)中。我有两个有关应用程序见解集成的查询。

  1. 我正在使用SimpleInjector IOC,那么使用下面的代码行将AI注入Asp Net Core DI有意义吗?

    services.AddApplicationInsightsTelemetry

我有自己的Logger类,该类初始化TelemetryCLient,并使用SimpleInjector注入Logger类。因此,从ASPNet Core角度来看,删除上述行代码会导致问题或缺乏功能吗?

  1. 在Asp.Net中,当我们用于添加AI时,它用于添加ApplicationInsights.config文件,该文件包含TelemetryInitializer和TelemetryModules。为此,AspNet Core 2.1中最好的选择是什么?如何添加以下TelemetryInitializers?

    • HttpDependenciesParsingTelemetryInitializer
    • AzureRoleEnvironmentTelemetryInitializer
    • AzureWebAppRoleEnvironmentTelemetryInitializer
    • OperationCorrelationTelemetryInitializer 等等...

提前谢谢!

1 个答案:

答案 0 :(得分:2)

  1. services.AddApplicationInsightsTelemetry是向项目添加应用程序见解的最简单方法。它为请求,相关性等设置自动收集模块,设置默认的TelemetryInitializers,TelemetryProcessor(用于采样,实时度量等)。 如果您不使用services.AddApplicationInsightsTelemetry,则必须自己以编程方式设置所有模块/初始化程序/采样等。

  2. 没有ApplicationInsights.config文件,因此几乎所有的配置自定义都需要通过代码来完成。以下显示了如何添加/删除遥测初始化程序。 https://github.com/Microsoft/ApplicationInsights-aspnetcore/wiki/Custom-Configuration#configure-telemetry-initializers