ResponseCache在某种程度上是OutputCache的替代品;但是,我想进行服务器端缓存以及按参数输入。

根据herehere的一些答案,我应该使用IMemoryCacheIDistributedCache来执行此操作。我对在参数不同的 Controller 上进行缓存特别感兴趣,以前在asp.net 4中使用OutputCacheVaryByParam进行了如下操作:

[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/

10-09 02:29