Я пытался добавить информацию о приложении Azure к нескольким проектам.Весь опыт был безупречен с основным приложением .net.Однако, когда я попытался обновить свойство имени роли в облаке, я не смог найти много для приложения на основе OWIN.Я хочу, чтобы имя пузыря в Карта приложения Insights отображало то, что я установил в этом свойстве (например, Мой API), но оно продолжает прибегать к имени ресурса, которое я имею для этого ресурса в Azure (my-лазурь-API).Пролистав большинство онлайн-ресурсов, я смог сделать следующее, что не работает.
using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.Extensibility;
namespace MyApp.Insights
{
public class RoleNameInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
// set role name correctly here.
telemetry.Context.Cloud.RoleName = "My API";
}
}
}
Также добавлено следующее в applicationinsights.config
<Add Type="MyApp.Insights.RoleNameInitializer, MyApp"/>
Также добавлено следующее в класс запуска (просто в качестве меры предосторожности)
using IntegratedTeleHealthPlatformApi.Insights;
using Microsoft.ApplicationInsights.Extensibility;
using Owin;
namespace MyApp
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
TelemetryConfiguration
.Active
.TelemetryInitializers
.Add(new RoleNameInitializer());
ConfigureAuth(app);
ApplyDatabaseMigrations();
}
}
}