我有一个基于ASP.NET Web表单的网站,我正在将其转换为ASP.NET Core 3.1 MVC。
我使用Redis作为OutputCache提供程序来缓存网站页面。我的web.config
在以前的网站上也有同样的设置。
<caching xdt:Transform="Replace">
<outputCache defaultProvider="rdstest">
<providers>
<add name="rdstest" type="Microsoft.Web.Redis.RedisOutputCacheProvider" host="rdstest............."
accessKey="xxxxxx=" databaseId ="1" port="xxxx" ssl="true" applicationName="xxxx" />
</providers>
</outputCache>
</caching>
我在网上寻找了将redis用于相同目的的最佳方法,但找不到任何简单的实现。
大多数文章都使用redis作为数据缓存,很少有文章展示如何简单地缓存输出页面。
如有任何帮助,我们将不胜感激。
谢谢。
当前ASP.Net Core中没有内置的输出缓存。你得到的关闭是响应缓存中间件,但它只能与内部内存缓存一起工作,而不能将其换成其他缓存。
不过,ASP.NET核心团队已经认识到了这一点,在.NET 7-Candidate
里程碑中跟踪这一点存在问题,因此,如果我们得到一个正式的里程碑,最早将在一年后。
因此,如果您现在想要使用redis支持的输出缓存,则必须构建自己的中间件来缓存响应(并提供缓存的响应(。