ASP.NET Core 7引入统一输出缓存机制,通过AddOutputCache和UseOutputCache注册服务与中间件,支持全局、命名及匿名策略,可基于时间、查询参数、请求头等条件精细控制缓存行为,适用于Minimal API与控制器,提升性能并降低服务器负载。

ASP.NET Core 中的输出缓存通过 Output Caching 中间件实现,主要用于缓存整个 HTTP 响应内容,提升性能。从 ASP.NET Core 7 开始,官方引入了统一的输出缓存机制,取代了旧版中功能有限的 [OutputCache] 特性。
在 Program.cs 中注册输出缓存服务:
AddOutputCache() 添加缓存服务UseOutputCache() 启用中间件可以定义命名策略或基于规则的方式控制缓存行为。
示例:定义一个缓存 60 秒的命名策略
builder.Services.AddOutputCache(options =>有多种方式将缓存策略绑定到具体请求处理逻辑。
可基于请求头、查询参数、路径等决定是否参与缓存。
例如:仅当用户未登录且请求为 GET 时缓存
options.AddPolicy("AnonymousGet", context =>该机制支持细粒度控制,比如排除某些查询参数、设置 vary headers(如 Vary by Query Keys、Vary by Header)等。
Expire(TimeSpan):设置过期时间VaryByQueryKeys(new[] {"id"}):根据查询参数变化缓存VaryByHeader("Accept-Language"):根据请求头区分缓存版本NoCache():跳过缓存例如:根据不同地区语言缓存不同版本
options.AddPolicy("Localized", context =>以上就是ASP.NET Core 中的输出缓存如何配置?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号