Asp.net core mvc 使用VaryByQueryKeys和dictionary querystring参数的响应缓存

Asp.net core mvc 使用VaryByQueryKeys和dictionary querystring参数的响应缓存,asp.net-core-mvc,responsecache,varybyquerykeys,Asp.net Core Mvc,Responsecache,Varybyquerykeys,我的ASP.NET Core MVC应用程序有一个带有字典参数的控制器方法,该参数通过请求查询字符串传递: public async Task<IActionResult> Get([FromQuery] Dictionary<string, string> filterCriteria) { } 公共异步任务Get([FromQuery]字典过滤器准则) { } 应用程序将响应缓存与VaryByQueryKeys选项一起使用,以返回先前已服务的请求的缓存响应。这对于

我的ASP.NET Core MVC应用程序有一个带有字典参数的控制器方法,该参数通过请求查询字符串传递:

public async Task<IActionResult> Get([FromQuery] Dictionary<string, string> filterCriteria)
{
}
公共异步任务Get([FromQuery]字典过滤器准则)
{
}
应用程序将响应缓存与
VaryByQueryKeys
选项一起使用,以返回先前已服务的请求的缓存响应。这对于简单的查询字符串值是必需的,使用方法上的一个属性,语法如下:
[ResponseCache(VaryByQueryKeys=new[]{“argName”},Duration=20)]

但是,我想将其与上面所示的dictionary参数一起使用


它可以像字典一样与对象参数一起使用吗?在
ResponseCache
属性中指定查询字符串键列表时使用的语法是什么

事实证明,您可以使用以下语法为字典参数指定查询键:

[ResponseCache(VaryByQueryKeys = new[] { "argName[key1]", "argName[key2]", ... }, Duration = 20)]