18 implementations of IOutputCachePolicy
Microsoft.AspNetCore.OutputCaching (18)
Policies\CompositePolicy.cs (1)
9internal sealed class CompositePolicy : IOutputCachePolicy
Policies\DefaultPolicy.cs (1)
12internal sealed class DefaultPolicy : IOutputCachePolicy
Policies\EmptyPolicy.cs (1)
9internal sealed class EmptyPolicy : IOutputCachePolicy
Policies\EnableCachePolicy.cs (1)
9internal sealed class EnableCachePolicy : IOutputCachePolicy
Policies\ExpirationPolicy.cs (1)
9internal sealed class ExpirationPolicy : IOutputCachePolicy
Policies\LockingPolicy.cs (1)
9internal sealed class LockingPolicy : IOutputCachePolicy
Policies\NamedPolicy.cs (1)
11internal sealed class NamedPolicy : IOutputCachePolicy
Policies\NoLookupPolicy.cs (1)
9internal sealed class NoLookupPolicy : IOutputCachePolicy
Policies\NoStorePolicy.cs (1)
9internal sealed class NoStorePolicy : IOutputCachePolicy
Policies\PredicatePolicy.cs (1)
9internal sealed class PredicatePolicy : IOutputCachePolicy
Policies\SetCacheKeyPrefixPolicy.cs (1)
11internal sealed class SetCacheKeyPrefixPolicy : IOutputCachePolicy
Policies\TagsPolicy.cs (1)
9internal sealed class TagsPolicy : IOutputCachePolicy
Policies\TypedPolicy.cs (1)
13internal sealed class TypedPolicy : IOutputCachePolicy
Policies\VaryByHeaderPolicy.cs (1)
11internal sealed class VaryByHeaderPolicy : IOutputCachePolicy
Policies\VaryByHostPolicy.cs (1)
9internal sealed class VaryByHostPolicy : IOutputCachePolicy
Policies\VaryByQueryPolicy.cs (1)
12internal sealed class VaryByQueryPolicy : IOutputCachePolicy
Policies\VaryByRouteValuePolicy.cs (1)
11internal sealed class VaryByRouteValuePolicy : IOutputCachePolicy
Policies\VaryByValuePolicy.cs (1)
11internal sealed class VaryByValuePolicy : IOutputCachePolicy
116 references to IOutputCachePolicy
Microsoft.AspNetCore.OutputCaching (116)
DefaultOutputCachePolicyProvider.cs (5)
24public IReadOnlyList<IOutputCachePolicy> GetBasePolicies() 30return Array.Empty<IOutputCachePolicy>(); 34public ValueTask<IOutputCachePolicy?> GetPolicyAsync(string policyName) 38IOutputCachePolicy? policy = null; 40if (_options.NamedPolicies is not null && _options.NamedPolicies.TryGetValue(policyName, out var value))
IOutputCachePolicyProvider.cs (5)
14/// <returns>A readonly list of <see cref="IOutputCachePolicy"/> instances.</returns> 15IReadOnlyList<IOutputCachePolicy> GetBasePolicies(); 18/// Gets a <see cref="IOutputCachePolicy"/> from the given <paramref name="policyName"/>. 21/// <returns>The named <see cref="IOutputCachePolicy"/>.</returns> 22ValueTask<IOutputCachePolicy?> GetPolicyAsync(string policyName);
OutputCacheAttribute.cs (2)
21private IOutputCachePolicy? _builtPolicy; 67internal IOutputCachePolicy BuildPolicy()
OutputCacheMiddleware.cs (11)
99private async Task InvokeAwaited(HttpContext httpContext, IReadOnlyList<IOutputCachePolicy> policies) 108foreach (var policy in policies) 175foreach (var policy in policies) 222internal bool TryGetRequestPolicies(HttpContext httpContext, out IReadOnlyList<IOutputCachePolicy> policies) 224policies = Array.Empty<IOutputCachePolicy>(); 225List<IOutputCachePolicy>? result = null; 236var policy = metadata?.GetMetadata<IOutputCachePolicy>(); 261internal async Task<bool> TryServeCachedResponseAsync(OutputCacheContext context, OutputCacheEntry? cacheEntry, IReadOnlyList<IOutputCachePolicy> policies) 273foreach (var policy in policies) 331internal async Task<bool> TryServeFromCacheAsync(OutputCacheContext cacheContext, IReadOnlyList<IOutputCachePolicy> policies)
OutputCacheOptions.cs (12)
39internal Dictionary<string, IOutputCachePolicy>? NamedPolicies { get; set; } 41internal List<IOutputCachePolicy>? BasePolicies { get; set; } 49/// Defines a <see cref="IOutputCachePolicy"/> which can be referenced by name. 53public void AddPolicy(string name, IOutputCachePolicy policy) 55NamedPolicies ??= new Dictionary<string, IOutputCachePolicy>(StringComparer.OrdinalIgnoreCase); 60/// Defines a <see cref="IOutputCachePolicy"/> which can be referenced by name. 68/// Defines a <see cref="IOutputCachePolicy"/> which can be referenced by name. 77NamedPolicies ??= new Dictionary<string, IOutputCachePolicy>(StringComparer.OrdinalIgnoreCase); 82/// Adds an <see cref="IOutputCachePolicy"/> instance to base policies. 85public void AddBasePolicy(IOutputCachePolicy policy) 92/// Builds and adds an <see cref="IOutputCachePolicy"/> instance to base policies. 99/// Builds and adds an <see cref="IOutputCachePolicy"/> instance to base policies.
OutputCachePolicyBuilder.cs (8)
18private IOutputCachePolicy? _builtPolicy; 19private readonly List<IOutputCachePolicy> _policies = new(); 35internal OutputCachePolicyBuilder AddPolicy(IOutputCachePolicy policy) 55public OutputCachePolicyBuilder AddPolicy<[DynamicallyAccessedMembers(ActivatorAccessibility)] T>() where T : IOutputCachePolicy 312/// Creates the <see cref="IOutputCachePolicy"/>. 314/// <returns>The<see cref="IOutputCachePolicy"/> instance.</returns> 315internal IOutputCachePolicy Build() 322var policies = _policies.Count switch
Policies\CompositePolicy.cs (8)
11private readonly IOutputCachePolicy[] _policies; 17public CompositePolicy(params IOutputCachePolicy[] policies) 23async ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 25foreach (var policy in _policies) 32async ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 34foreach (var policy in _policies) 41async ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken) 43foreach (var policy in _policies)
Policies\DefaultPolicy.cs (3)
21ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 36ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 42ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\EmptyPolicy.cs (4)
11public static IOutputCachePolicy Instance = new EmptyPolicy(); 18ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 24ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 30ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\EnableCachePolicy.cs (3)
19ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 27ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken) 33ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\ExpirationPolicy.cs (3)
23ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 31ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 37ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\LockingPolicy.cs (3)
29ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 37ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 43ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\NamedPolicy.cs (8)
24async ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken) 26var policy = await GetProfilePolicy(context); 37async ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 39var policy = await GetProfilePolicy(context); 50async ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 52var policy = await GetProfilePolicy(context); 62internal ValueTask<IOutputCachePolicy?> GetProfilePolicy(OutputCacheContext context) 67return ValueTask.FromResult<IOutputCachePolicy?>(null);
Policies\NoLookupPolicy.cs (3)
18ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken) 26ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 32ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\NoStorePolicy.cs (3)
18ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken) 26ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 32ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\OutputCacheConventionBuilderExtensions.cs (1)
33public static TBuilder CacheOutput<TBuilder>(this TBuilder builder, IOutputCachePolicy policy) where TBuilder : IEndpointConventionBuilder
Policies\PredicatePolicy.cs (7)
14private readonly IOutputCachePolicy _policy; 21public PredicatePolicy(Func<OutputCacheContext, ValueTask<bool>> asyncPredicate, IOutputCachePolicy policy) 28ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 34ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 40ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken) 45private ValueTask ExecuteAwaited(Func<IOutputCachePolicy, OutputCacheContext, CancellationToken, ValueTask> action, IOutputCachePolicy policy, OutputCacheContext context, CancellationToken cancellationToken)
Policies\SetCacheKeyPrefixPolicy.cs (3)
24ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 30ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 36ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\TagsPolicy.cs (3)
23ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 34ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 40ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\TypedPolicy.cs (6)
15private IOutputCachePolicy? _instance; 31private IOutputCachePolicy? CreatePolicy(OutputCacheContext context) 34return _instance ??= ActivatorUtilities.CreateInstance(options.Value.ApplicationServices, _policyType) as IOutputCachePolicy; 38ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 44ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 50ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\VaryByHeaderPolicy.cs (3)
39ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 54ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 60ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\VaryByHostPolicy.cs (3)
25ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 33ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 39ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\VaryByQueryPolicy.cs (3)
40ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 62ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 68ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\VaryByRouteValuePolicy.cs (3)
39ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 46ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 52ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
Policies\VaryByValuePolicy.cs (3)
28ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken) 34ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken) 40ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)