问题的见解加入基于Owin项目(Problems adding insights to Owin b

2019-11-05 05:46发布

我一直在试图Azure应用程序的见解添加到几个项目。 整个体验是无缝的与.NET核心应用。 然而,当我尝试更新云作用name属性,这正是我无法找到很多关于基于OWIN应用。 我想在洞察应用地图泡沫出现什么,我在此属性(我的例如API)设置的名称,但它保留诉诸我有这个资源在Azure中(我-蔚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();       

            }
    }

}

Answer 1:

我只是设置一个简单的基于owin asp.net项目(asp.net web应用程序,然后安装的NuGet Microsoft.Owin.Host.SystemWeb )。

设置完成后,在Visual Studio中 - >项目 - >添加应用程序洞察遥测:

我的自定义TelemetryInitializer如下:

然后,只需初始化添加到applicationinsights.config:

和执行后,角色名是我在初始化设置之一:

请试一试,如果它在你身边确定。 并确保您的RoleNameInitializer被调用,您可以设置断点那里看看,如果它被称为与否。



文章来源: Problems adding insights to Owin based project