我已经在我的ASP.NET MVC 4项目上安装了ServiceStack,一切都很好。(我使用ASP.NET MVC、Entity Framework 5、SQL SERVER 2008和Windows SERVER 2008 R2以及AngularJS来调用ServiceStack)
不过,我想知道身份验证问题。我正在使用MemoryCacheClient(),我的UserSession经常丢失,用户需要重新连接。
我认为这是一个缓存配置问题,这就是我在这里阅读servicestack缓存wiki的原因:https://github.com/ServiceStack/ServiceStack/wiki/Caching
我的问题很简单:我的环境(Windows)的缓存选项是什么?这真的是缓存问题吗?
提前感谢
Windows缓存
Redis和Memcached都适用于Windows,但经过测试,Redis二进制文件似乎更容易使用。您可以从下载http://ruilopes.com/redis-setup/
要将ServiceStack配置为使用redis,请查看ServiceStack wiki页面
MemoryCache客户端
我假设您正在IIS 上运行ServiceStack
MemoryCacheClient使用ConcurrentDictionary来存储缓存项。这意味着它存储在AppPool内存中,每次AppPool回收时都会清除该内存。默认情况下,AppPool每次Web.config或bin文件夹更改时以及每1740分钟回收一次。