我的ASP。NET核心MVC应用程序有一个带有字典参数的控制器方法,通过请求查询字符串传递:
public async Task<IActionResult> Get([FromQuery] Dictionary<string, string> filterCriteria)
{
}
应用程序将响应缓存与VaryByQueryKeys
选项一起使用,以返回先前已提供服务的请求的缓存响应。这对于简单的查询字符串值来说是必要的,使用方法上的属性,语法如下:[ResponseCache(VaryByQueryKeys = new[] { "argName" }, Duration = 20)]
然而,我想将它与上面所示的字典参数一起使用。
它能像字典一样与对象参数一起使用吗?在ResponseCache
属性中指定查询字符串键列表时使用的语法是什么?
事实证明,您可以使用以下语法为字典参数指定queryKeys:
[ResponseCache(VaryByQueryKeys = new[] { "argName[key1]", "argName[key2]", ... }, Duration = 20)]