我想使用 ASP.NET 最小 API 为不同的端点返回不同的缓存控制标头值。我们如何在没有控制器的情况下做到这一点?
这可以使用控制器来完成,如下所示:
using Microsoft.AspNetCore.Mvc;
namespace CacheTest;
[ApiController]
public class TestController : ControllerBase
{
[HttpGet, Route("cache"), ResponseCache(Duration = 3600)]
public ActionResult GetCache() => Ok("cache");
[HttpGet, Route("nocache"), ResponseCache(Location = ResponseCacheLocation.None, Duration = 0)]
public ActionResult GetNoCache() => Ok("no cache");
}
第一个端点返回标头Cache-Control: public,max-age=3600
。
第二个端点返回标头Cache-Control: no-cache,max-age=0
。