【发布时间】:2019-08-03 17:12:06
【问题描述】:
我不确定如何解决它,但我正在尝试通过 Redis 输出缓存提供程序实现 ASP.NET 输出缓存。
我们设置了 Redis 服务器(非天蓝色),我可以存储缓存以供一般使用。 但是,当我尝试设置 ASP.NET 输出缓存时,它似乎没有保存任何缓存!
我已经通过 Nuget 安装了 Microsoft.Web.RedisOutputCacheProvider。 Web.Config 设置如下:
<caching>
<outputCache defaultProvider="MyRedisOutputCache">
<providers>
<add name="MyRedisOutputCache" type="Microsoft.Web.Redis.RedisOutputCacheProvider" host="ServerName" port="6464" accessKey="PasswordToRedis" />
</providers>
</outputCache>
</caching>
MVC 控制器设置了 OutputCache 属性:
[OutputCache(Duration = 3600, VaryByParam = "*", Location = OutputCacheLocation.ServerAndClient)]
public JsonResult GetLookupData()
当我检查 Redis 时,我没有看到任何 OutputCache 被存储。
我错过了什么吗?有没有办法调试为什么它没有在缓存中存储任何东西?
【问题讨论】:
-
检查一下docs.microsoft.com/en-us/azure/azure-cache-for-redis/…,缓存 PING 命令是否在您的 Web 应用程序中工作?
-
我应该提到,应用程序或缓存服务器都不在 Azure 上。没有。除此之外,我还可以使用代码中的普通缓存方法来利用 Redis 缓存。但是,如果我选择使用 OutputCacheProvider 进行输出缓存,我不会存储任何内容。
-
您可以尝试按照这篇文章更改您的 web.config 吗? github.com/moonpyk/mvcdonutcaching/issues/35
-
我已经尝试过使用额外的 type 参数,但它仍然无法正常工作。没有错误。
标签: asp.net-mvc redis outputcache