113 references to CacheVaryByRules
Microsoft.AspNetCore.OutputCaching (25)
OutputCacheContext.cs (1)
51/// Gets the <see cref="CacheVaryByRules"/> instance.
OutputCacheKeyProvider.cs (10)
76var cacheKeyPrefix = context.CacheVaryByRules.CacheKeyPrefix; 86.Append(context.CacheVaryByRules.CacheKeyPrefix) 110if (context.CacheVaryByRules.VaryByHost) 138var varyByRules = context.CacheVaryByRules; 142throw new InvalidOperationException($"{nameof(OutputCacheContext.CacheVaryByRules)} must not be null on the {nameof(OutputCacheContext)}"); 145var varyHeaderNames = context.CacheVaryByRules.HeaderNames; 146var varyRouteValueNames = context.CacheVaryByRules.RouteValueNames; 147var varyQueryKeys = context.CacheVaryByRules.QueryKeys; 148var varyByValues = context.CacheVaryByRules.HasVaryByValues ? context.CacheVaryByRules.VaryByValues : null;
Policies\DefaultPolicy.cs (1)
30context.CacheVaryByRules.QueryKeys = "*";
Policies\SetCacheKeyPrefixPolicy.cs (1)
26return _varyByAsync.Invoke(context.HttpContext, context.CacheVaryByRules, cancellationToken);
Policies\VaryByHeaderPolicy.cs (3)
44context.CacheVaryByRules.HeaderNames = _headerNames; 48context.CacheVaryByRules.HeaderNames = StringValues.Concat(context.CacheVaryByRules.HeaderNames, _headerNames);
Policies\VaryByHostPolicy.cs (1)
27context.CacheVaryByRules.VaryByHost = _varyByHost;
Policies\VaryByQueryPolicy.cs (6)
45context.CacheVaryByRules.QueryKeys = _queryKeys; 50if (context.CacheVaryByRules.QueryKeys.Count == 1 && string.Equals(context.CacheVaryByRules.QueryKeys[0], "*", StringComparison.Ordinal)) 52context.CacheVaryByRules.QueryKeys = _queryKeys; 56context.CacheVaryByRules.QueryKeys = StringValues.Concat(context.CacheVaryByRules.QueryKeys, _queryKeys);
Policies\VaryByRouteValuePolicy.cs (1)
41context.CacheVaryByRules.RouteValueNames = _routeValueNames;
Policies\VaryByValuePolicy.cs (1)
30return _varyByAsync.Invoke(context.HttpContext, context.CacheVaryByRules, cancellationToken);
Microsoft.AspNetCore.OutputCaching.Tests (88)
OutputCacheAttributeTests.cs (9)
85Assert.Contains("HeaderA", (IEnumerable<string>)context.CacheVaryByRules.HeaderNames); 86Assert.Contains("HeaderC", (IEnumerable<string>)context.CacheVaryByRules.HeaderNames); 87Assert.DoesNotContain("HeaderB", (IEnumerable<string>)context.CacheVaryByRules.HeaderNames); 100Assert.Contains("QueryA", (IEnumerable<string>)context.CacheVaryByRules.QueryKeys); 101Assert.Contains("QueryC", (IEnumerable<string>)context.CacheVaryByRules.QueryKeys); 102Assert.DoesNotContain("QueryB", (IEnumerable<string>)context.CacheVaryByRules.QueryKeys); 119Assert.Contains("RouteA", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 120Assert.Contains("RouteC", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 121Assert.DoesNotContain("RouteB", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames);
OutputCacheKeyProviderTests.cs (44)
35context.CacheVaryByRules.VaryByHost = false; 81Assert.NotNull(context.CacheVaryByRules); 89context.CacheVaryByRules.CacheKeyPrefix = Guid.NewGuid().ToString("n"); 91Assert.Equal($"{context.CacheVaryByRules.CacheKeyPrefix}{KeyDelimiter}{EmptyBaseKey}", cacheKeyProvider.CreateStorageKey(context)); 101context.CacheVaryByRules.RouteValueNames = new string[] { "RouteA", "RouteC" }; 113context.CacheVaryByRules.RouteValueNames = new string[] { "RouteA", "RouteC" }; 133context.CacheVaryByRules.VaryByValues["b"] = "ValueB"; 134context.CacheVaryByRules.VaryByValues["a"] = "ValueA"; 147context.CacheVaryByRules.HeaderNames = new string[] { "HeaderA", "HeaderC" }; 159context.CacheVaryByRules.HeaderNames = new string[] { "HEADERA" }; 172context.CacheVaryByRules.HeaderNames = new string[] { "HeaderA", "HeaderC" }; 184context.CacheVaryByRules.CacheKeyPrefix = Guid.NewGuid().ToString("n"); 185context.CacheVaryByRules.QueryKeys = new string[] { "QueryA", "QueryC" }; 187Assert.Equal($"{context.CacheVaryByRules.CacheKeyPrefix}{KeyDelimiter}{EmptyBaseKey}{KeyDelimiter}Q{KeyDelimiter}QueryA=ValueA{KeyDelimiter}QueryC=", 197context.CacheVaryByRules.CacheKeyPrefix = Guid.NewGuid().ToString("n"); 198context.CacheVaryByRules.QueryKeys = new string[] { "QueryA", "QueryC" }; 200Assert.Equal($"{context.CacheVaryByRules.CacheKeyPrefix}{KeyDelimiter}{EmptyBaseKey}{KeyDelimiter}Q{KeyDelimiter}QueryA=ValueA{KeyDelimiter}QueryC=", 210context.CacheVaryByRules.CacheKeyPrefix = Guid.NewGuid().ToString("n"); 211context.CacheVaryByRules.QueryKeys = new string[] { "QUERYA" }; 213Assert.Equal($"{context.CacheVaryByRules.CacheKeyPrefix}{KeyDelimiter}{EmptyBaseKey}{KeyDelimiter}Q{KeyDelimiter}QUERYA=ValueA", 223context.CacheVaryByRules.CacheKeyPrefix = Guid.NewGuid().ToString("n"); 224context.CacheVaryByRules.QueryKeys = new string[] { "*" }; 228Assert.Equal($"{context.CacheVaryByRules.CacheKeyPrefix}{KeyDelimiter}{EmptyBaseKey}{KeyDelimiter}Q{KeyDelimiter}QUERYA=ValueA{KeyDelimiter}QUERYB=ValueB", 238context.CacheVaryByRules.CacheKeyPrefix = Guid.NewGuid().ToString("n"); 239context.CacheVaryByRules.QueryKeys = new string[] { "*" }; 243Assert.Equal($"{context.CacheVaryByRules.CacheKeyPrefix}{KeyDelimiter}{EmptyBaseKey}{KeyDelimiter}Q{KeyDelimiter}QUERYA=ValueA{KeySubDelimiter}ValueB", 253context.CacheVaryByRules.CacheKeyPrefix = Guid.NewGuid().ToString("n"); 254context.CacheVaryByRules.QueryKeys = new string[] { "*" }; 258Assert.Equal($"{context.CacheVaryByRules.CacheKeyPrefix}{KeyDelimiter}{EmptyBaseKey}{KeyDelimiter}Q{KeyDelimiter}QUERYA=ValueA{KeySubDelimiter}ValueB", 272context.CacheVaryByRules.CacheKeyPrefix = Guid.NewGuid().ToString("n"); 273context.CacheVaryByRules.HeaderNames = new string[] { "HeaderA", "HeaderC" }; 274context.CacheVaryByRules.QueryKeys = new string[] { "QueryA", "QueryC" }; 275context.CacheVaryByRules.RouteValueNames = new string[] { "RouteA", "RouteC" }; 277Assert.Equal($"{context.CacheVaryByRules.CacheKeyPrefix}{KeyDelimiter}{EmptyBaseKey}{KeyDelimiter}H{KeyDelimiter}HeaderA=ValueA{KeyDelimiter}HeaderC={KeyDelimiter}Q{KeyDelimiter}QueryA=ValueA{KeyDelimiter}QueryC={KeyDelimiter}R{KeyDelimiter}RouteA=ValueA{KeyDelimiter}RouteC=", 325context.CacheVaryByRules.HeaderNames = new string[] { "HeaderA", "HeaderC" }; 339context.CacheVaryByRules.HeaderNames = new string[] { "HeaderA", "HeaderC" }; 352context.CacheVaryByRules.QueryKeys = new string[] { "QueryA", "QueryC" }; 365context.CacheVaryByRules.QueryKeys = new string[] { "*" }; 378context.CacheVaryByRules.QueryKeys = new string[] { "QueryA", "QueryC" }; 392context.CacheVaryByRules.RouteValueNames = new string[] { "RouteA", "RouteC" }; 406context.CacheVaryByRules.RouteValueNames = new string[] { "RouteA", "RouteC" }; 420context.CacheVaryByRules.CacheKeyPrefix = Guid.NewGuid().ToString("n"); 421context.CacheVaryByRules.RouteValueNames = new string[] { "ROUTEA" }; 423Assert.Equal($"{context.CacheVaryByRules.CacheKeyPrefix}{KeyDelimiter}{EmptyBaseKey}{KeyDelimiter}R{KeyDelimiter}ROUTEA=ValueA",
OutputCacheMiddlewareTests.cs (1)
524context.CacheVaryByRules.QueryKeys = vary;
OutputCachePoliciesTests.cs (12)
29Assert.True(context.CacheVaryByRules.VaryByHost); 51Assert.Equal("*", context.CacheVaryByRules.QueryKeys); 74Assert.False(context.CacheVaryByRules.VaryByHost); 191Assert.Equal(0, context.CacheVaryByRules.HeaderNames.Count); 204Assert.Equal(header, context.CacheVaryByRules.HeaderNames); 217Assert.Equal(headers, context.CacheVaryByRules.HeaderNames.ToArray()); 229Assert.Equal(0, context.CacheVaryByRules.QueryKeys.Count); 242Assert.Equal(query, context.CacheVaryByRules.QueryKeys); 255Assert.Equal(queries, context.CacheVaryByRules.QueryKeys.ToArray()); 268Assert.Equal(queries, context.CacheVaryByRules.QueryKeys.ToArray()); 281Assert.Equal(value, context.CacheVaryByRules.CacheKeyPrefix); 295Assert.Contains(new KeyValuePair<string, string>(key, value), context.CacheVaryByRules.VaryByValues);
OutputCachePolicyBuilderTests.cs (22)
100Assert.False(context.CacheVaryByRules.VaryByHost); 115Assert.Contains("HeaderA", (IEnumerable<string>)context.CacheVaryByRules.HeaderNames); 116Assert.Contains("HeaderC", (IEnumerable<string>)context.CacheVaryByRules.HeaderNames); 117Assert.DoesNotContain("HeaderB", (IEnumerable<string>)context.CacheVaryByRules.HeaderNames); 131Assert.Contains("QueryA", (IEnumerable<string>)context.CacheVaryByRules.QueryKeys); 132Assert.Contains("QueryC", (IEnumerable<string>)context.CacheVaryByRules.QueryKeys); 133Assert.DoesNotContain("QueryB", (IEnumerable<string>)context.CacheVaryByRules.QueryKeys); 151Assert.Contains("RouteA", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 152Assert.Contains("RouteC", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 153Assert.DoesNotContain("RouteB", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 171Assert.Contains("RouteA", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 172Assert.Contains("RouteC", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 173Assert.DoesNotContain("RouteB", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 191Assert.Contains("RouteA", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 192Assert.Contains("RouteC", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 193Assert.DoesNotContain("RouteB", (IEnumerable<string>)context.CacheVaryByRules.RouteValueNames); 211Assert.Equal("tenant1", context1.CacheVaryByRules.CacheKeyPrefix); 212Assert.Equal("tenant2", context2.CacheVaryByRules.CacheKeyPrefix); 213Assert.Equal("tenant3", context3.CacheVaryByRules.CacheKeyPrefix); 231Assert.Equal("circle", context.CacheVaryByRules.VaryByValues["shape"]); 232Assert.Equal("blue", context.CacheVaryByRules.VaryByValues["color"]); 233Assert.Equal("1m", context.CacheVaryByRules.VaryByValues["size"]);