我在我的ASP .NET核心應用程序中有多個控制器,我正在使用像這樣的ReponseCache屬性幾種方法:ASP.Net核心Web API - ResponseCache屬性沒有添加「緩存控制」標題的響應
//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:公衆最大年齡= 60」,但在不同的控制器中,當我添加此屬性時添加「Cache-Control:no-cache」。我比較了它們中的兩個控制器和方法,並將它們配置爲相同。我也嘗試添加ASP.NET Core中間件here,但結果相同。我正在從Angular2網頁調用這兩種方法。我可以從客戶端(請求)做些什麼?或在ASP.NET核心應用程序設置中的東西?
對不起,這是一個錯誤的問題,但我實際上已經在代碼中。 – MuazzamAli
不用擔心。很奇怪的是,您可能會在不同的控制器中的兩種不同的操作方法上使用相同的ResponseCache屬性,並獲得不同的結果。也許你有一個操作過濾器或中間件來覆蓋'Cache-Control'頭並將其設置爲'no-cache'。 –
本來我並沒有使用任何中間件,但是我嘗試從我的問題鏈接中添加它,但也沒有幫助。我嘗試了所有不同的選項(公共,私人,Vary ...),但結果相同。它很奇怪。 – MuazzamAli