我们正在使用从 IdentityServer 生成的 JWT token 身份验证。我想知道在调用各种 Controller 操作时执行 session 变量(和应用程序范围变量)的相同功能的正确方法是什么。例如,我应该将这些变量存储在 InMemory 缓存中吗?
例如:我正在将文件上传到 Controller 操作,我需要一些其他 Controller 操作来报告该文件上传了多少,因此这两个操作需要有一个公共(public)变量来报告该文件上传进度......
谢谢 ...
最佳答案
Application Session 和 Authentication Session 是不同的概念。应用程序 session 对于这种情况仍然是可行的。但是,您需要确保在上传请求之前在响应中发送 session cookie,以便上传和状态请求可以正确关联。您还必须定期提交 session 状态,以便状态请求可以读取它,它们不共享相同数据的实时副本。
或者您使用内存缓存并为每个上传提供一个唯一的 id(在上传之前)。这与 session 的工作方式几乎相同。
关于asp.net-mvc - 在我们使用 JWT token 的情况下,Asp.net 核心中的 session 和应用程序变量(因此没有基于 cookie 的 session ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427817/