前面的博客谈的大多数都是针对数据的缓存,今天我们来换换口味。来谈谈在ASP.NET Core中的ResponseCaching,与ResponseCaching关联密切的也就是常说的HTTP缓存。
在阅读本文内容之前,默认各位有HTTP缓存相关的基础,主要是Cache-Control相关的。
这里也贴两篇相关的博客:
透过浏览器看HTTP缓存
HTTP协议 (四) 缓存
回到正题,对于ASP.NET Core中的ResponseCaching,本文主要讲三个相关的小内容
客户端(浏览器)缓存
服务端缓存
静态文件缓存
客户端(浏览器)缓存这里主要是通过设置HTTP的响应头来完成这件事的。方法主要有两种:
其一,直接用Response对象去设置。
这种方式也有两种写法,示例代码如下:
public IActionResult Index() { //直接一,简单粗暴,不要拼写错了就好~~ Response.Headers[Microsoft.Net.Http.Headers.HeaderNames.CacheControl] = "public, max-age=600"; //直接二,略微优雅点 //Response.GetTypedHeaders().CacheControl = new Microsoft.Net.Http.Headers.CacheControlHeaderValue() //{ // Public = true, // MaxAge = TimeSpan.FromSeconds(600) //}; return View(); }