【问题标题】:applicationinsights.config external custom libraryapplicationinsights.config 外部自定义库
【发布时间】:2017-10-14 15:43:58
【问题描述】:

我确信这一定很简单,但我找不到任何文档。

我在另一个程序集中有一个自定义的ITelemetryChannel 实现。如何将其添加到applicationinsights.config? Microsoft 文档中的示例假定该类与 Web 应用程序位于同一程序集中。

【问题讨论】:

    标签: asp.net .net web-config azure-application-insights telemetry


    【解决方案1】:

    你可以这样做:

    <TelemetryChannel Type="Namespace.MyTelemetryChannel, OtherAssemblyName" />
    
    • Namespace.MyTelemetryChannel 应该是您班级的完全限定类型名称
    • 后跟程序集名称,例如。 OtherAssemblyName

    默认 ITelemetryChannel:

    ApplicationInsights.Web 使用的默认通道是 ServerTelemetryChannel,默认情况下它存在于 ApplicationInsights.config 文件中:

    <TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"/>
    

    如果您检查项目中的引用,您会发现 Microsoft.AI.ServerTelemetryChannel 是初始化 ServerTelemetryChannel 的程序集。

    使用 ITelemetryChannel 初始化属性:

    您还可以从 ApplicationInsights.config 初始化属性(只要它们具有公共 getter 和 setter),如下所示:

    <TelemetryChannel Type="Namespace.MyTelemetryChannel, OtherAssemblyName">
        <SomeCount>20</SomeCount>
    </TelemetryChannel>
    

    假设您的 TelemetryChannel 包含属性 SomeCount

    public class MyTelemetryChannel: ITelemetryChannel
    {
        public int SomeCount { get; set; }
        ...
    }
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-21
      • 2015-02-27
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 2016-12-18
      • 2022-01-22
      相关资源
      最近更新 更多