【发布时间】:2017-10-14 15:43:58
【问题描述】:
我确信这一定很简单,但我找不到任何文档。
我在另一个程序集中有一个自定义的ITelemetryChannel 实现。如何将其添加到applicationinsights.config? Microsoft 文档中的示例假定该类与 Web 应用程序位于同一程序集中。
【问题讨论】:
标签: asp.net .net web-config azure-application-insights telemetry
我确信这一定很简单,但我找不到任何文档。
我在另一个程序集中有一个自定义的ITelemetryChannel 实现。如何将其添加到applicationinsights.config? Microsoft 文档中的示例假定该类与 Web 应用程序位于同一程序集中。
【问题讨论】:
标签: asp.net .net web-config azure-application-insights telemetry
你可以这样做:
<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; }
...
}
希望这会有所帮助!
【讨论】: