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