Asp.net core mvc ASP.Net核心Web API-ResponseCache属性未添加;“缓存控制”;响应的标题

Asp.net core mvc ASP.Net核心Web API-ResponseCache属性未添加;“缓存控制”;响应的标题,asp.net-core-mvc,cache-control,asp.net-core-webapi,responsecache,Asp.net Core Mvc,Cache Control,Asp.net Core Webapi,Responsecache,我的ASP.NET核心应用程序中有多个控制器,并且我在一些方法上使用了类似以下的ReponseCache属性: //控制器 [路由(“api/[控制器]”)] [使能公司(“公司政策”)] 公共类InsightsApiController:控制器 //方法 [路线(“课程内容”)] [HttpGet] [解密过滤器] [响应缓存(持续时间=60)] public IActionResult GetCoursesContent(字符串区域设置、字符串tabKey、字符串widgetType)缺少

我的ASP.NET核心应用程序中有多个控制器,并且我在一些方法上使用了类似以下的ReponseCache属性:

//控制器
[路由(“api/[控制器]”)]
[使能公司(“公司政策”)]
公共类InsightsApiController:控制器
//方法
[路线(“课程内容”)]
[HttpGet]
[解密过滤器]
[响应缓存(持续时间=60)]

public IActionResult GetCoursesContent(字符串区域设置、字符串tabKey、字符串widgetType)
缺少后面的括号

 [ResponseCache(Duration = 60]
需要

 [ResponseCache(Duration = 60)]

我在ASNETCore webapi项目的startup.cs文件中启用了会话中间件。我现在删除了它,并且它适用于所有呼叫/控制器。不知道为什么它只导致一个控制器出现问题

对不起,这是问题中的一个输入错误,但我实际上在代码中有它。不用担心。非常奇怪的是,在不同的控制器中的两个不同的动作方法上使用相同的ResponseCache属性,得到不同的结果。也许您有一个操作筛选器或中间件,它覆盖了
缓存控制
标题,并将其设置为
无缓存
。最初我没有使用任何中间件,但后来我尝试从问题中的链接将其添加到其中,这也没有帮助。我尝试了所有不同的选择(公共的,私人的,不同的…),但结果相同。这很奇怪。也许可以尝试在一个只有两个普通控制器的普通web项目中复制这种行为,每个控制器都有一个方法。然后增加复杂性,以便更接近实际项目,直到找到问题。是的,我正在考虑。我现在就去。感谢您的快速反馈。我很感激。