c# - 在每个请求中,新会话都在 web api 中生成
问题描述
每当在控制器中遇到新请求时,都会生成新的会话 ID,因此我会丢失以前的值。
使用 .net 核心 API 2.2.0
“启动.cs”
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false; // Default is true, make it false
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddDistributedMemoryCache();
services.AddSession();
解决方案
看起来你正在处理一个 API。如果我不得不猜测,您不会Cookie
使用服务器最初通过Set-Cookie
响应标头返回的值来传递每个请求的标头。Web 浏览器会自动为 Web 应用程序请求处理此类事情。但是,API 是一个不同的包,您需要手动完成。
也就是说,API应该是无状态的,因此通常不支持会话和/或 cookie 的想法。您根本不应该使用Session
API 项目。每个请求都应包含为该请求提供服务所需的所有数据。否则,您将在 API 中引入各种问题。
推荐阅读
- php - 自 2020-06 新版本以来的 Eclipse PHP 垃圾邮件新警告
- bash - Bash:通过 tcp 提供文件
- regex - 用于替换双引号字符串中不同双引号组合的正则表达式
- python - 在尝试使用 python 从 facebook 帖子中提取评论时需要帮助
- http - 在 HTTP 服务器中提供静态文件
- c++ - 我不知道为什么这些代码会使核心转储?
- java - 如何匹配给定已知名称空间uri的所有属性?
- itext - itext7 + pdfHtml:如何在 ConvertToPdf 上设置纵向和适合内容
- ios - Firemonkey 在 iOS 中不显示希伯来语文本
- c++ - 无法运行构建后事件(C++)