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