我正在编写标准的MVC 5应用程序,并在控制器上设置OutputCache标记,还安装了StackExange.Redis和RedisOutputCache。相应地配置了web.config。
当我在localhost中运行此缓存时缓存工作正常,但是一旦部署到Azure WebApp中,缓存就不起作用,因为我看到了正在进行的更改。此外,当远程调试应用程序时,我看到断点在控制器视图操作中命中。
我一直在寻找解决方案的日子,但我找不到任何答案,甚至没有类似的东西。我已经在Azure支持上提出了一张票。
所以我的问题是,是否有一些东西可以使Azure WebApp的行为与本地解决方案不同? 我怎么能调试Outputcache来检查为什么它没有达到缓存版本?
附加信息:我在Redis Cli中看到Outputcache正在存储缓存版本,它只是不会返回它。
由于
答案 0 :(得分:0)
好吧,我终于找到了问题。
我在Thread.CurrentThread.CurrentCulture.Name
的{{1}}函数中使用VaryByCustomString()
创建了基于区域性的缓存版本。
但是,一旦部署到Azure WebApp,就不会设置这种文化,因此检查失败,global.asax
认为Redis中没有任何版本。