首页 > 解决方案 > AspNet 核心 AppInsights 集成

问题描述

我正在将应用洞察集成到我们的 AspNet Core 应用(Target Framework .Net 4.7.1)中。我有两个关于应用洞察集成的疑问。

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

    services.AddApplicationInsightsTelemetry

我有自己的 Logger 类,它初始化 TelemetryCLient,Logger 类是使用 SimpleInjector 注入的。那么从 ASPNet Core 的角度来看,删除上面的代码会导致问题或缺少功能吗?

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

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

提前致谢!!!

标签: asp.net-coreinversion-of-controlazure-application-insightssimple-injectortelemetry

解决方案


  1. services.AddApplicationInsightsTelemetry是向您的项目添加应用程序洞察力的最简单方法。它为 Requests、Dependencies 等设置自动收集模块,设置默认 TelemetryInitializers、TelemetryProcessors(用于采样、实时指标等),如果您不使用services.AddApplicationInsightsTelemetry,那么您必须自己以编程方式设置所有模块/初始化程序/采样等。

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


推荐阅读