在我的MVC Core应用程序中,我正在使用会话来跟踪登录。这很好用,但是当我的Web应用程序进入空闲状态/重新启动时,这是一个问题,因为会话将清除并且所有用户都将注销。我已经修改了我的应用程序,以通过在Startup services.AddDistributedSqlServerCache(options)
方法中调用和设置services.AddSession(options)
和ConfigureServices
以及调用{{1 }}。{p>
我似乎一切都做对了;当新客户端第一次设置会话值时,它将保存在缓存表中,而当调用app.UseSession()
时,会话Configure
表值将进行更新。
因此,考虑到会话数据已保存到表中,为什么在重新启动时不捕获它?这不是cookie的问题,cookie的过期值设置为10年,会话空闲超时值设置为2周。似乎Session数据只是通过IIS内存处理的,但仍保存到我的缓存db-table中,我觉得这很奇怪。