在推送bin/js文件后,Servicestack丢失会话,直到缓存清空
本文关键字:会话 清空 缓存 Servicestack bin js 文件 | 更新日期: 2023-09-27 18:11:27
ServiceStack应用程序使用Angular(但只使用/auth也会出现问题*见下文)
我肯定会遇到问题的浏览器:Chrome, Safari
遇到用户在登录重定向后立即失去会话的问题。我也测试过使用/auth?username&password,我得到会话Id很好,但回到/auth显示我是未经授权的。
清除缓存可以解决这个问题,使用隐身模式也可以。
我试图在CSS和JS文件中添加版本控制,以防万一,这是推时的问题,但这并不能解决问题。
复制
的步骤- Push dll, js文件
- 转到暂存网站
- 尝试登录…成功
- 重定向和会话结束
在不强制应用程序用户清除缓存的情况下,有什么想法可以在哪里寻找/解决这个问题?如有任何建议或指导,对我都很有帮助。
如果你使用的是MemoryCacheClient
,那么添加文件到你的Web应用程序的文件夹将重新启动ASP。. NET应用程序域,重新启动您的Web应用程序,清除所有现有内存。
你需要使用任何其他分布式缓存提供商,以便在App Domain重启后保留你的缓存和会话。
好了,找到问题了!这个很有趣。
设置:我们有两个服务栈站点
- example.com//on staging this is SSL
- sub.example.com//暂存在非ssl
下面是这个问题是如何重现的,在测试时我们会....
- 之前登录到example.com这会产生一个。example.com cookie域名
- 我们将文件更改推送到sub.example.com这会擦除此子域名 的cookie
- 我们将尝试登录sub.example.com并失败
- 如果我从example.com中删除了。example.com cookie,那么登录sub.example.com就可以了