我的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)
我遇到的问题是,对于一个控制器,这工作正常,我可以看到Chrome开发工具中的响应"Cache-Control:public max-age=60"但是在我添加此属性时,在另一个控制器中添加"Cache-Control:no-cache" . 我比较了它们中的控制器和方法,它们配置相同 . 我也尝试添加ASP.NET核心中间件推荐here但结果相同 . 我从Angular2网页调用这两种方法 . 我可以从客户端(请求)做些什么吗?或者ASP.NET Core应用程序设置中的某些内容?
2 回答
你缺少一个尾随的括号
需要是
我在ASNETCore webapi项目的startup.cs文件中启用了会话中间件 . 我删除了它,它现在适用于所有呼叫/控制器 . 不知道为什么只有一个控制器导致问题 .