# Microsoft.AspNetCore.OutputCaching

``` diff
 namespace Microsoft.AspNetCore.OutputCaching {
     public sealed class CacheVaryByRules {
+        public StringValues HeaderNames { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
-        public StringValues Headers { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
+        public StringValues RouteValueNames { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
     }
     [AttributeUsageAttribute(68, AllowMultiple=false, Inherited=true)]
     public sealed class OutputCacheAttribute : Attribute {
+        public string[]? VaryByHeaderNames { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
-        public string[]? VaryByHeaders { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
+        public string[]? VaryByRouteValueNames { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
     }
     public sealed class OutputCacheContext {
+        public OutputCacheContext();
-        public CacheVaryByRules CacheVaryByRules { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
+        public CacheVaryByRules CacheVaryByRules { [CompilerGeneratedAttribute] get; }
-        public HttpContext HttpContext { [CompilerGeneratedAttribute] get; }
+        public required HttpContext HttpContext { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
-        public DateTimeOffset? ResponseTime { [CompilerGeneratedAttribute] get; }
+        public DateTimeOffset? ResponseTime { [CompilerGeneratedAttribute] get; [CompilerGeneratedAttribute] set; }
     }
     public sealed class OutputCachePolicyBuilder {
+        public OutputCachePolicyBuilder Cache();
-        public OutputCachePolicyBuilder VaryByHeader(params string[] headers);
+        public OutputCachePolicyBuilder VaryByHeader(params string[] headerNames);
+        public OutputCachePolicyBuilder VaryByRouteValue(params string[] routeValueNames);
-        public OutputCachePolicyBuilder With(Func<OutputCacheContext, CancellationToken, Task<bool>> predicate);
+        public OutputCachePolicyBuilder With(Func<OutputCacheContext, CancellationToken, ValueTask<bool>> predicate);
     }
 }
```

