0

Je suis sûr que cela doit être facile, mais je ne trouve aucune documentation à ce sujet.applicationinsights.config bibliothèque personnalisée externe

J'ai une implémentation personnalisée ITelemetryChannel dans un autre assemblage. Comment l'ajouter au applicationinsights.config? Les exemples dans la documentation de Microsoft supposent que la classe est dans le même assembly que l'application Web.

Répondre

0

Vous pouvez le faire de cette façon:

<TelemetryChannel Type="Namespace.MyTelemetryChannel, OtherAssemblyName" /> 
  • Namespace.MyTelemetryChannel devrait être votre nom de type qualifié pour votre classe
  • Il devrait être suivi par le nom de l'assemblage par exemple. OtherAssemblyName

Par défaut ITelemetryChannel:

Le canal par défaut utilisé par ApplicationInsights.Web est ServerTelemetryChannel qui est présent par défaut dans le fichier ApplicationInsights.config:

<TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"/> 

Si vous vérifiez les références Dans votre projet, vous trouverez Microsoft.AI.ServerTelemetryChannel l'assembly d'où ServerTelemetryChannel est initialisé.

propriétés avec ITelemetryChannel: Initialiser

Vous pouvez également initialiser des propriétés (aussi longtemps qu'ils ont getters publics et setters) du ApplicationInsights.config, comme indiqué ci-dessous:

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

en supposant que votre TélémétrieChannel inclut la propriété

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

J'espère que cela t'aides!