You are configuring Application Insights telemetry in a C# console application. You need to enrich all telemetry sent to Application Insights with a custom cloud role name by implementing and registering a telemetry initializer.
Complete the code snippet by identifying the correct types and properties for each blank.
Cevap:using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.Extensibility;
// A custom initializer to enrich all telemetry with cloud role details
public class CloudRoleNameInitializer : 【ITelemetryInitializer】
{
public void Initialize(【ITelemetry】 telemetry)
{
telemetry.Context.Cloud.RoleName = "OrderProcessingService";
}
}
// In the application startup code:
var config = TelemetryConfiguration.CreateDefault();
config.ConnectionString = "ConnectionStringValue";
config.【TelemetryInitializers】.Add(new CloudRoleNameInitializer());
using Microsoft.ApplicationInsights.Extensibility;
// A custom initializer to enrich all telemetry with cloud role details
public class CloudRoleNameInitializer : 【ITelemetryInitializer】
{
public void Initialize(【ITelemetry】 telemetry)
{
telemetry.Context.Cloud.RoleName = "OrderProcessingService";
}
}
// In the application startup code:
var config = TelemetryConfiguration.CreateDefault();
config.ConnectionString = "ConnectionStringValue";
config.【TelemetryInitializers】.Add(new CloudRoleNameInitializer());
Cevap
Blank 1 should be filled with ITelemetryInitializer, Blank 2 with ITelemetry, and Blank 3 with TelemetryInitializers.
To write a custom telemetry initializer, you must implement the ITelemetryInitializer interface, which has a single Initialize method taking an ITelemetry argument. To run it, you must add it to the TelemetryInitializers collection on the active TelemetryConfiguration.
Adım Adım Çözüm
Anahtar Kavram
Programmatic configuration of Application Insights Telemetry Initializers in C#
Tahmini Süre:2m 0s