session - 从 MVC Core 中的数据库表中获取会话数据
问题描述
在我的 MVC Core 应用程序中,我使用会话来跟踪登录。这很好用,但是当我的 Web 应用程序空闲/重新启动时会出现问题,因为会话清除并且所有用户都被注销。我已经修改了我的应用程序,通过在 Startup方法中调用和设置services.AddDistributedSqlServerCache(options)
&以及在方法中调用,将会话数据存储在数据库缓存表中。services.AddSession(options)
ConfigureServices
app.UseSession()
Configure
我似乎做的一切都正确;当新客户端第一次设置会话值时,它将保存在缓存表中,并且何时Sesion.Get
调用会话ExpiresAtTime
表值更新。
那么,考虑到会话数据是保存到表中的,为什么重启时不被抓取呢?这不是 cookie 问题,cookie 过期值设置为 10 年,会话空闲超时值设置为 2 周。似乎会话数据只是通过 IIS 内存处理,但被保存到我的缓存数据库表中,我觉得这很奇怪。
解决方案
推荐阅读
- python - 为什么我不能从另一个派生 Cython cdef 扩展类型?
- python - 如何关闭scrapy的ImagesPipeline自动创建完整文件夹?
- angular - “请求”类型的参数不可分配给“HttpRequest”类型的参数
' - dynamics-crm - Dynamics 365 8.2(本地)中的实体更改跟踪
- laravel - 如何在十月 CMS 中创建自己的函数?
- c# - 什么是 OData 控制器生命周期事件 OnExecuting / OnExecuted?
- android - 使用接近 SDK 检测单个信标
- git - 将 master 变基到功能分支
- c++ - 指向对象的指针
- java - 从文件中读取可序列化对象时,Scanner 中出现 NullPointerException