applicationinsights.config外部自定义库

时间:2017-05-15 18:35:51

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

我确定这一定很容易,但我无法找到相关文档。

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

1 个答案:

答案 0 :(得分: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.ServerTelemetryChannelServerTelemetryChannel初始化的程序集。

使用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; }
    ...
}

希望这有帮助!