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