0

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

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

4

1 回答 1

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

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

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

假设您的 TelemetryChannel 包含以下属性SomeCount

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

希望这可以帮助!

于 2017-05-16T11:39:44.127 回答