MetalamaAPI documentationPatterns APIMetalama.​Patterns.​CachingICaching­Service
Open sandboxFocus

ICachingService Interface

Front-end interface used by the caching aspects.

Namespace: Metalama.Patterns.Caching
Assembly: Metalama.Patterns.Caching.dll
Syntax
public interface ICachingService

Properties

Name Description
AllBackends
KeyBuilder
Logger

Methods

Name Description
GetFromCacheOrExecute<TResult>(CachedMethodMetadata, Object, Object[], Func<Object, Object[], Object>, CacheItemConfiguration, CancellationToken)
GetFromCacheOrExecuteTaskAsync<TTaskResultType>(CachedMethodMetadata, Object, Object[], Func<Object, Object[], CancellationToken, Task<Object>>, CacheItemConfiguration, CancellationToken)
GetFromCacheOrExecuteValueTaskAsync<TTaskResultType>(CachedMethodMetadata, Object, Object[], Func<Object, Object[], CancellationToken, ValueTask<Object>>, CacheItemConfiguration, CancellationToken)
InitializeAsync(CancellationToken)

Initializes the caching service. It is recommended to call this method from the start-up program sequence when the back-end involves a network or out-of-process service (e.g. Redis, Azure). If this method is not called, initialization will occur automatically upon the first call any cached method.

Extension Methods

CachingServiceExtensions.AddDependency(ICachingService, String)
CachingServiceExtensions.AddDependencies(ICachingService, IEnumerable<String>)
CachingServiceExtensions.SuspendDependencyPropagation(ICachingService)
CachingServiceExtensions.AddDependency(ICachingService, ICacheDependency)
CachingServiceExtensions.AddDependencies(ICachingService, IEnumerable<ICacheDependency>)
CachingServiceExtensions.AddObjectDependency(ICachingService, Object)
CachingServiceExtensions.InvalidateObject(ICachingService, Object)
CachingServiceExtensions.InvalidateObjectAsync(ICachingService, Object, CancellationToken)
CachingServiceExtensions.Invalidate(ICachingService, ICacheDependency)
CachingServiceExtensions.InvalidateAsync(ICachingService, ICacheDependency, CancellationToken)
CachingServiceExtensions.Invalidate(ICachingService, String)
CachingServiceExtensions.Invalidate(ICachingService, String, String[])
CachingServiceExtensions.Invalidate(ICachingService, IReadOnlyCollection<String>)
CachingServiceExtensions.InvalidateAsync(ICachingService, String, CancellationToken)
CachingServiceExtensions.InvalidateAsync(ICachingService, String, String[])
CachingServiceExtensions.InvalidateAsync(ICachingService, IReadOnlyCollection<String>, CancellationToken)
CachingServiceExtensions.Invalidate(ICachingService, MethodInfo, Object, Object[])
CachingServiceExtensions.InvalidateAsync(ICachingService, MethodInfo, Object, Object[], CancellationToken)
CachingServiceExtensions.Invalidate<TReturn>(ICachingService, Func<TReturn>)
CachingServiceExtensions.InvalidateAsync<TReturn>(ICachingService, Func<TReturn>, CancellationToken)
CachingServiceExtensions.Refresh<TReturn>(ICachingService, Func<TReturn>)
CachingServiceExtensions.RefreshAsync<TReturn>(ICachingService, Func<Task<TReturn>>, CancellationToken)
CachingServiceExtensions.Invalidate<TReturn, TParam1>(ICachingService, Func<TParam1, TReturn>, TParam1)
CachingServiceExtensions.InvalidateAsync<TReturn, TParam1>(ICachingService, Func<TParam1, TReturn>, TParam1, CancellationToken)
CachingServiceExtensions.Refresh<TReturn, TParam1>(ICachingService, Func<TParam1, TReturn>, TParam1)
CachingServiceExtensions.RefreshAsync<TReturn, TParam1>(ICachingService, Func<TParam1, Task<TReturn>>, TParam1, CancellationToken)
CachingServiceExtensions.Invalidate<TReturn, TParam1, TParam2>(ICachingService, Func<TParam1, TParam2, TReturn>, TParam1, TParam2)
CachingServiceExtensions.InvalidateAsync<TReturn, TParam1, TParam2>(ICachingService, Func<TParam1, TParam2, TReturn>, TParam1, TParam2, CancellationToken)
CachingServiceExtensions.Refresh<TReturn, TParam1, TParam2>(ICachingService, Func<TParam1, TParam2, TReturn>, TParam1, TParam2)
CachingServiceExtensions.RefreshAsync<TReturn, TParam1, TParam2>(ICachingService, Func<TParam1, TParam2, Task<TReturn>>, TParam1, TParam2, CancellationToken)
CachingServiceExtensions.Invalidate<TReturn, TParam1, TParam2, TParam3>(ICachingService, Func<TParam1, TParam2, TParam3, TReturn>, TParam1, TParam2, TParam3)
CachingServiceExtensions.InvalidateAsync<TReturn, TParam1, TParam2, TParam3>(ICachingService, Func<TParam1, TParam2, TParam3, TReturn>, TParam1, TParam2, TParam3, CancellationToken)
CachingServiceExtensions.Refresh<TReturn, TParam1, TParam2, TParam3>(ICachingService, Func<TParam1, TParam2, TParam3, TReturn>, TParam1, TParam2, TParam3)
CachingServiceExtensions.RefreshAsync<TReturn, TParam1, TParam2, TParam3>(ICachingService, Func<TParam1, TParam2, TParam3, Task<TReturn>>, TParam1, TParam2, TParam3, CancellationToken)
CachingServiceExtensions.Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TReturn>, TParam1, TParam2, TParam3, TParam4)
CachingServiceExtensions.InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TReturn>, TParam1, TParam2, TParam3, TParam4, CancellationToken)
CachingServiceExtensions.Refresh<TReturn, TParam1, TParam2, TParam3, TParam4>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TReturn>, TParam1, TParam2, TParam3, TParam4)
CachingServiceExtensions.RefreshAsync<TReturn, TParam1, TParam2, TParam3, TParam4>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, Task<TReturn>>, TParam1, TParam2, TParam3, TParam4, CancellationToken)
CachingServiceExtensions.Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5)
CachingServiceExtensions.InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, CancellationToken)
CachingServiceExtensions.Refresh<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5)
CachingServiceExtensions.RefreshAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, Task<TReturn>>, TParam1, TParam2, TParam3, TParam4, TParam5, CancellationToken)
CachingServiceExtensions.Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6)
CachingServiceExtensions.InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, CancellationToken)
CachingServiceExtensions.Refresh<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6)
CachingServiceExtensions.RefreshAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, Task<TReturn>>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, CancellationToken)
CachingServiceExtensions.Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7)
CachingServiceExtensions.InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, CancellationToken)
CachingServiceExtensions.Refresh<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7)
CachingServiceExtensions.RefreshAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, Task<TReturn>>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, CancellationToken)
CachingServiceExtensions.Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8)
CachingServiceExtensions.InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, CancellationToken)
CachingServiceExtensions.Refresh<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8)
CachingServiceExtensions.RefreshAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, Task<TReturn>>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, CancellationToken)
CachingServiceExtensions.Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9)
CachingServiceExtensions.InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, CancellationToken)
CachingServiceExtensions.Refresh<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9)
CachingServiceExtensions.RefreshAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, Task<TReturn>>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, CancellationToken)
CachingServiceExtensions.Invalidate<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10)
CachingServiceExtensions.InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, CancellationToken)
CachingServiceExtensions.Refresh<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10)
CachingServiceExtensions.RefreshAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, Task<TReturn>>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, CancellationToken)