Application Insights - ASP.NET Core - Session_Id 为空

Posted

技术标签:

【中文标题】Application Insights - ASP.NET Core - Session_Id 为空【英文标题】:Application Insights - ASP.NET Core - Session_Id is empty 【发布时间】:2022-01-14 03:32:53 【问题描述】:

当我在 AI 中查看我的日志(例如“跟踪”)时,session_Id 列是空的。 我必须做什么,即配置例如 ASP.NET Core 会话 ID 被写入 AI 中的该列?我在这里缺少什么简单的东西吗?

最后,它不一定是会话 id,我只想能够(仅)看到单个用户在特定时间段内完成的所有 AI 请求。

谢谢!

【问题讨论】:

【参考方案1】:

在 Startup 类的 ConfigureServices 方法中,将 CheckConsentNeeded 更改为 false,如下所示:

services.Configure<CookiePolicyOptions>(options =>

// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
);

或 servicesAddSession() 的重载使您能够在启动文件中配置 sessionOptions,将 set IsEssential 更改为 true,如下所示:

public  void ConfigureServices(IServiceCollection services)

services.AddControllers();
services.AddApplicationInsightsTelemetry(Configuration["APPINSIGHTS_CONNECTIONSTRING"]);
services.Configure<CookiePolicyOptions>(options =>

options.CheckConsentNeeded = context => true; // consent required
options.MinimumSameSitePolicy = SameSiteMode.None;
);
services.AddSession(opts =>

opts.Cookie.IsEssential = true; // make the session cookie Essential
);
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

在 azure 门户中查看会话图表:

【讨论】:

以上是关于Application Insights - ASP.NET Core - Session_Id 为空的主要内容,如果未能解决你的问题,请参考以下文章

ILogger 到 Application Insights

Application Insights URL 分组

Azure Application Insights 不显示数据

更改 Application Insights 的位置?

处于调试模式时的 Application Insights

如何使用 Pyspark 提取 Azure Application Insights 事件?