ResponseCache
在某种程度上是OutputCache
的替代品;但是,我想进行服务器端缓存以及按参数输入。
根据here和here的一些答案,我应该使用IMemoryCache
或IDistributedCache
来执行此操作。我对在参数不同的 Controller 上进行缓存特别感兴趣,以前在asp.net 4中使用OutputCache
和VaryByParam
进行了如下操作:
[OutputCache(CacheProfile = "Medium", VaryByParam = "id", Location = OutputCacheLocation.Server)]
public ActionResult Index(long id)
{
///...
}
我将如何在asp.net核心中复制它?
最佳答案
首先,请确保您使用的是ASP.NET Core 1.1或更高版本。
然后在您的 Controller 方法上使用与此类似的代码:
[ResponseCache(Duration = 300, VaryByQueryKeys = new string[] { "date_ref" } )]
public IActionResult Quality(DateTime date_ref)
资料来源:https://docs.microsoft.com/en-us/aspnet/core/performance/caching/middleware
关于c# - OutputCache/ResponseCache VaryByParam,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35028053/