ASP.Net 核心 Web API - 响应缓存属性未将"缓存控制"标头添加到响应



我在我的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 dev工具中看到" cache-control:public max-age = 60"中的响应将其添加" CACHE-CONTROL:NO-CACHE"归因于。我比较了其中的控制器和方法,并且配置相同。我还尝试在此处推荐的ASP.NET核心中间件,但结果相同。我正在调用来自Angular2网页的这两种方法。我可以从客户端(请求(做些什么?或ASP.NET Core App设置中的内容?

您缺少尾随的括号

 [ResponseCache(Duration = 60]

需要

 [ResponseCache(Duration = 60)]

我在我的asnetcore webapi项目的启动.cs文件中启用了一个会话中间件。我将其删除,现在为所有呼叫/控制器工作。不确定为什么仅对一个控制器引起问题。

相关内容

  • 没有找到相关文章

最新更新