iis - 使用 HttpContext.Session 将 ASP.NET Core 2.2 应用程序部署到 IIS 会话后无法正常工作
问题描述
使用 IIS 部署我的 ASP.NET Core 2.2 应用程序后,使用 HttpContext.Session 编码的会话无法正常工作。如果我设置了一个会话变量,一旦请求结束,变量就会被删除,如果我在使用不同的请求之后尝试访问它,变量的值为 null。如果我在 Visual Studio 中运行该应用程序,一切正常。
解决方案
除非您希望所有 cookie 都不需要同意,否则不要这样做。要允许会话,您应该只Cookie.IsEssential = true
在AddSession
. 这会将会话 cookie 标记为必需品。
services.AddSession(options => {
options.IdleTimeout = TimeSpan.FromMinutes(15);
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
});
阅读本文了解更多信息:https ://andrewlock.net/session-state-gdpr-and-non-essential-cookies/
推荐阅读
- c++ - 关于 Stroustrup C++ 书籍的 auto 和 {}-lists 问题
- c++ - 迭代二维向量时发生运行时错误
- html - 两个 div 并排,一个响应式
- html - 隐藏第二个元素,直到第一个元素完成动画 - CSS 关键帧
- python - “raise JSONDecodeError("Expecting value", s, err.value) from None" 我正在尝试读取和写入 json 文件
- oracle - 如何找出导致我的 Oracle 事务因等待类集群而挂起的原因?
- python - Python用魔术方法获取任意静态方法
- php - 列出具有分配给它们的自定义分类类别的自定义帖子类型
- r - R中带有ordinalNet的累积惩罚序数模型的残差
- java - 编写重试机制打印日志