0

我相信这一定很容易,但我找不到任何文档。applicationinsights.config外部自定义库

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

回答

0

你可以这样来做:

<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初始化属性:

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

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

假设你TelemetryChannel包括属性SomeCount

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

希望这可以帮助!