MetalamaAPI documentationPatterns APIMetalama.​Patterns.​CachingCaching­Service­ExtensionsInvalidate­Async
Open sandboxFocus

CachingServiceExtensions.InvalidateAsync Method

InvalidateAsync(ICachingService, ICacheDependency, CancellationToken)

Asynchronously invalidates a cache dependency given as an ICacheDependency, i.e. removes all cache items that are dependent on this dependency.

Declaration
public static ValueTask InvalidateAsync(this ICachingService cachingService, ICacheDependency dependency, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

ICacheDependency dependency

A dependency.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

InvalidateAsync(ICachingService, String, CancellationToken)

Asynchronously invalidates a cache dependency given as String, i.e. removes all cache items that are dependent on this dependency key.

Declaration
public static ValueTask InvalidateAsync(this ICachingService cachingService, string dependencyKey, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

String dependencyKey
CancellationToken cancellationToken
Returns
Type Description
ValueTask

InvalidateAsync(ICachingService, String, String[])

Declaration
public static ValueTask InvalidateAsync(this ICachingService cachingService, string dependencyKey, params string[] otherDependencyKeys)
Parameters
Type Name Description
ICachingService cachingService
String dependencyKey
String[] otherDependencyKeys
Returns
Type Description
ValueTask

InvalidateAsync(ICachingService, IReadOnlyCollection<String>, CancellationToken)

Asynchronously invalidates a cache dependency given as String, i.e. removes all cache items that are dependent on this dependency key.

Declaration
public static ValueTask InvalidateAsync(this ICachingService cachingService, IReadOnlyCollection<string> dependencyKeys, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

IReadOnlyCollection<String> dependencyKeys
CancellationToken cancellationToken
Returns
Type Description
ValueTask

InvalidateAsync(ICachingService, MethodInfo, Object, Object[], CancellationToken)

Asynchronously removes a method call result from the cache giving the MethodInfo representing the method, the instance and the arguments of the method call.

Declaration
public static ValueTask InvalidateAsync(this ICachingService cachingService, MethodInfo method, object instance, object[] args, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

MethodInfo method

The MethodInfo of the method call.

Object instance

The value of the this instance, or null for methods.

Object[] args

The method arguments.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

InvalidateAsync<TReturn>(ICachingService, Func<TReturn>, CancellationToken)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 0 parameter.

Declaration
public static ValueTask InvalidateAsync<TReturn>(this ICachingService cachingService, Func<TReturn> method, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TReturn> method

A delegate of the method to invalidate.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

InvalidateAsync<TReturn, TParam1>(ICachingService, Func<TParam1, TReturn>, TParam1, CancellationToken)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 1 parameter.

Declaration
public static ValueTask InvalidateAsync<TReturn, TParam1>(this ICachingService cachingService, Func<TParam1, TReturn> method, TParam1 arg1, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TParam1, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

InvalidateAsync<TReturn, TParam1, TParam2>(ICachingService, Func<TParam1, TParam2, TReturn>, TParam1, TParam2, CancellationToken)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 2 parameters.

Declaration
public static ValueTask InvalidateAsync<TReturn, TParam1, TParam2>(this ICachingService cachingService, Func<TParam1, TParam2, TReturn> method, TParam1 arg1, TParam2 arg2, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TParam1, TParam2, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

InvalidateAsync<TReturn, TParam1, TParam2, TParam3>(ICachingService, Func<TParam1, TParam2, TParam3, TReturn>, TParam1, TParam2, TParam3, CancellationToken)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 3 parameters.

Declaration
public static ValueTask InvalidateAsync<TReturn, TParam1, TParam2, TParam3>(this ICachingService cachingService, Func<TParam1, TParam2, TParam3, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TParam1, TParam2, TParam3, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TReturn>, TParam1, TParam2, TParam3, TParam4, CancellationToken)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 4 parameters.

Declaration
public static ValueTask InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4>(this ICachingService cachingService, Func<TParam1, TParam2, TParam3, TParam4, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TParam1, TParam2, TParam3, TParam4, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, CancellationToken)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 5 parameters.

Declaration
public static ValueTask InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5>(this ICachingService cachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6>(ICachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, CancellationToken)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 6 parameters.

Declaration
public static ValueTask InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6>(this ICachingService cachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

TParam6 arg6

Value of the 6-th parameter.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

TParam6

Type of the 6-th parameter.

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)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 7 parameters.

Declaration
public static ValueTask InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7>(this ICachingService cachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6, TParam7 arg7, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

TParam6 arg6

Value of the 6-th parameter.

TParam7 arg7

Value of the 7-th parameter.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

TParam6

Type of the 6-th parameter.

TParam7

Type of the 7-th parameter.

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)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 8 parameters.

Declaration
public static ValueTask InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8>(this ICachingService cachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6, TParam7 arg7, TParam8 arg8, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

TParam6 arg6

Value of the 6-th parameter.

TParam7 arg7

Value of the 7-th parameter.

TParam8 arg8

Value of the 8-th parameter.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

TParam6

Type of the 6-th parameter.

TParam7

Type of the 7-th parameter.

TParam8

Type of the 8-th parameter.

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)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 9 parameters.

Declaration
public static ValueTask InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9>(this ICachingService cachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6, TParam7 arg7, TParam8 arg8, TParam9 arg9, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

TParam6 arg6

Value of the 6-th parameter.

TParam7 arg7

Value of the 7-th parameter.

TParam8 arg8

Value of the 8-th parameter.

TParam9 arg9

Value of the 9-th parameter.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

TParam6

Type of the 6-th parameter.

TParam7

Type of the 7-th parameter.

TParam8

Type of the 8-th parameter.

TParam9

Type of the 9-th parameter.

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)

Asynchronously removes a method call result from the cache giving the delegate of the method. This overload is for methods with 10 parameters.

Declaration
public static ValueTask InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10>(this ICachingService cachingService, Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6, TParam7 arg7, TParam8 arg8, TParam9 arg9, TParam10 arg10, CancellationToken cancellationToken = null)
Parameters
Type Name Description
ICachingService cachingService

The ICachingService.

Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

TParam2 arg2

Value of the second parameter.

TParam3 arg3

Value of the third parameter.

TParam4 arg4

Value of the 4-th parameter.

TParam5 arg5

Value of the 5-th parameter.

TParam6 arg6

Value of the 6-th parameter.

TParam7 arg7

Value of the 7-th parameter.

TParam8 arg8

Value of the 8-th parameter.

TParam9 arg9

Value of the 9-th parameter.

TParam10 arg10

Value of the 10-th parameter.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

TParam2

Type of the second parameter.

TParam3

Type of the third parameter.

TParam4

Type of the 4-th parameter.

TParam5

Type of the 5-th parameter.

TParam6

Type of the 6-th parameter.

TParam7

Type of the 7-th parameter.

TParam8

Type of the 8-th parameter.

TParam9

Type of the 9-th parameter.

TParam10

Type of the 10-th parameter.