0

我相信這一定很容易,但我找不到任何文檔。applicationinsights.config外部自定義庫

我在另一個程序集中有一個自定義的ITelemetryChannel實現。我如何將它添加到applicationinsights.config? Microsoft文檔中的示例假定該類與Web應用程序在同一個程序集中。

回答

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

您也可以初始化屬性(只要它們具有公共getter和setter)從ApplicationInsights.config,如下圖所示:

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

假設你TelemetryChannel包括屬性SomeCount

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

希望這可以幫助!