我确定这一定很容易,但我无法找到相关文档。
我在另一个程序集中有一个自定义ITelemetryChannel
实现。如何将其添加到applicationinsights.config
? Microsoft的文档中的示例假定该类与Web应用程序位于同一个程序集中。
答案 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.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; }
...
}
希望这有帮助!