2016-01-27 3 views
4

ResponseCache - это замена на OutputCache; однако, я хотел бы сделать кеширование на стороне сервера, а также на ввод параметров.OutputCache/ResponseCache VaryByParam

В соответствии с некоторыми ответами here и here, я должен использовать IMemoryCache или IDistributedCache для этого. Я особенно заинтересован в кэширование на контроллерах, где параметр отличается, ранее сделано в ASP.NET 4 с OutputCache и VaryByParam так:

[OutputCache(CacheProfile = "Medium", VaryByParam = "id", Location = OutputCacheLocation.Server)] 
public ActionResult Index(long id) 
{ 
    ///... 
} 

Как бы идти о репликации этого в ядре asp.net?

+1

ли вы ее решили? – chemitaxis

ответ

0

Прежде всего убедитесь, что вы используете asp net core 1.1 или новее.

Затем используйте код, подобный этому на вашем методе контроллера:

[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