我的 ASP .NET Core 应用程序中有多个控制器,我在一些方法上使用这样的 ReponseCache 属性:
//controller
[Route("api/[controller]")]
[EnableCors("CorsPolicy")]
public class InsightsApiController : Controller
//method
[Route("CoursesTextContent")]
[HttpGet]
[DecryptFilter]
[ResponseCache(Duration = 60)]
public IActionResult GetCoursesContent(string locale, string tabKey, string widgetType)
我遇到的问题是,对于一个控制器来说,这工作正常,我可以在带有“Cache-Control:public max-age=60”的 chrome 开发工具中看到响应,但是当我添加这个属性时,在不同的控制器中添加它“缓存控制:无缓存”。我比较了其中的控制器和方法,它们的配置相同。我还尝试添加此处推荐的 ASP.NET Core 中间件,但结果相同。我从 Angular2 网页调用这两种方法。我可以从客户端(请求)做些什么吗?还是 ASP.NET Core 应用程序设置中的内容?