Possiedo un sito Web ASPC di MVC e sto implementando Application Insights. In questo momento, mi collego a Trace evento come segue:Utilizzo dell'istanza statica di TelemetryClient con Application Insights
private static TelemetryClient _APM;
private static TelemetryClient APM
{
get
{
if (_APM == null) { _APM = new TelemetryClient(); }
return _APM;
}
}
public static void Trace(string Message)
{
APM.TrackTrace(Message);
}
Come si può vedere, questo sarebbe mantenere una singola istanza statica del TelemetryClient per tutte le tracce. È così che dovremmo usare il cliente? O dovremmo creare una nuova istanza di TelemetryClient per ogni registro?
Perfetto! Questo è esattamente quello che stavo cercando! – William
è possibile farlo, tuttavia per un'app server o ASP.Net si potrebbe ** non ** voler utilizzare un 'TelemetryClient' statico. se si utilizza un singleton statico, alcuni dei campi di contesto registrati con telemetria (utente, sessione, operazione) verranno impostati una sola volta, in primo piano. L'utilizzo di un nuovo client di telemetria (erediteremo) erediterà utente/sessione/ecc dalla pipeline asp.net, che può aiutare a diagnosticare cosa sta succedendo quando si guarda la traccia. nel portale, sarete in grado di vedere tutta la telemetria nella stessa sessione in cui si è verificata la traccia. o quale richiesta di asp.net ha causato la traccia. –