向基于 Owin 的项目添加见解时出现问题
Problems adding insights to Owin based project
我一直在尝试将 Azure 应用程序见解添加到几个项目中。整个体验与 .net 核心应用程序无缝衔接。但是,当我尝试更新云角色名称 属性 时,我找不到很多基于 OWIN 的应用程序。我希望 Insights Application Map 中的气泡名称显示我在此 属性 中设置的内容(例如我的 API),但它一直求助于资源我在 Azure 中为该资源设置的名称 (my-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"/>
也将以下内容添加到启动 class(作为预防措施)
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();
}
}
}
我只是设置了一个简单的基于 owin 的 asp.net 项目(asp.net 网络应用程序,然后在 nuget 安装 Microsoft.Owin.Host.SystemWeb
)。
设置完成后,在visual studio -> 项目 -> 添加Application Insights Telemetry:
我的自定义 TelemetryInitializer 如下:
然后只需将初始化程序添加到 applicationinsights.config:
执行后,角色名称就是我在初始化程序中设置的角色名称:
如果你身边没问题,请试一试。并确保您的 RoleNameInitializer 被调用,您可以在那里设置断点以查看它是否被调用。
我一直在尝试将 Azure 应用程序见解添加到几个项目中。整个体验与 .net 核心应用程序无缝衔接。但是,当我尝试更新云角色名称 属性 时,我找不到很多基于 OWIN 的应用程序。我希望 Insights Application Map 中的气泡名称显示我在此 属性 中设置的内容(例如我的 API),但它一直求助于资源我在 Azure 中为该资源设置的名称 (my-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"/>
也将以下内容添加到启动 class(作为预防措施)
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();
}
}
}
我只是设置了一个简单的基于 owin 的 asp.net 项目(asp.net 网络应用程序,然后在 nuget 安装 Microsoft.Owin.Host.SystemWeb
)。
设置完成后,在visual studio -> 项目 -> 添加Application Insights Telemetry:
我的自定义 TelemetryInitializer 如下:
然后只需将初始化程序添加到 applicationinsights.config:
执行后,角色名称就是我在初始化程序中设置的角色名称:
如果你身边没问题,请试一试。并确保您的 RoleNameInitializer 被调用,您可以在那里设置断点以查看它是否被调用。