Проблемы с добавлением идей в проект на основе Owin - PullRequest
0 голосов
/ 08 октября 2018

Я пытался добавить информацию о приложении 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();       

            }
    }

}

1 Ответ

0 голосов
/ 08 октября 2018

Я просто настраиваю простой проект asp.net на основе owin (веб-приложение asp.net, затем в nuget устанавливаем Microsoft.Owin.Host.SystemWeb).

После установки в visual studio -> Project -> Add ApplicationТелеметрия Insights: enter image description here

Мой пользовательский TelemetryInitializer, как показано ниже: enter image description here

Затем просто добавьте инициализатор в applicationinsights.config:enter image description here

И после выполнения имя роли будет тем, которое я установил в инициализаторе: enter image description here

Пожалуйста, имейтепопробуйте, если это хорошо на вашей стороне.И чтобы убедиться, что ваш RoleNameInitializer вызывается, вы можете установить точку останова, чтобы увидеть, вызывается он или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...