PostSharpAPI ReferencePost­Sharp.​Patterns.​CachingCaching­Services.​InvalidationInvalidate­Async
Open sandboxFocus

CachingServices.Invalidation.InvalidateAsync Method

InvalidateAsync(Object)

Asynchronously invalidates a cache dependency given an Object, i.e. removes all cached items that are dependent on that object.

Declaration
public static Task InvalidateAsync([Required] object dependency)
Parameters
Type Name Description
Object dependency

Typically, an Object. If a String, System.Delegate or ICacheDependency is passed, the proper overload of the method is invoked. Otherwise, dependency is wrapped into an ObjectDependency object.

Returns
Type Description
Task

A Task.

InvalidateAsync(ICacheDependency)

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

Declaration
public static Task InvalidateAsync([Required] ICacheDependency dependency)
Parameters
Type Name Description
ICacheDependency dependency

A dependency.

Returns
Type Description
Task

A Task.

InvalidateAsync(String)

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

Declaration
public static Task InvalidateAsync([Required] string dependencyKey)
Parameters
Type Name Description
String dependencyKey
Returns
Type Description
Task

InvalidateAsync(MethodInfo, Object, Object[])

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 Task InvalidateAsync([Required] MethodInfo method, object instance, params object[] args)
Parameters
Type Name Description
MethodInfo method

The MethodInfo of the method call.

Object instance

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

Object[] args

The method arguments.

Returns
Type Description
Task

InvalidateAsync<TReturn>(Func<TReturn>)

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 Task InvalidateAsync<TReturn>([Required] Func<TReturn> method)
Parameters
Type Name Description
Func<TReturn> method

A delegate of the method to invalidate.

Returns
Type Description
Task

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

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

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 Task InvalidateAsync<TReturn, TParam1>([Required] Func<TParam1, TReturn> method, TParam1 arg1)
Parameters
Type Name Description
Func<TParam1, TReturn> method

A delegate of the method to invalidate.

TParam1 arg1

Value of the first parameter.

Returns
Type Description
Task

A Task.

Type Parameters
Name Description
TReturn

The return type of the method.

TParam1

Type of the first parameter.

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

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 Task InvalidateAsync<TReturn, TParam1, TParam2>([Required] Func<TParam1, TParam2, TReturn> method, TParam1 arg1, TParam2 arg2)
Parameters
Type Name Description
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.

Returns
Type Description
Task

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>(Func<TParam1, TParam2, TParam3, TReturn>, TParam1, TParam2, TParam3)

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 Task InvalidateAsync<TReturn, TParam1, TParam2, TParam3>([Required] Func<TParam1, TParam2, TParam3, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3)
Parameters
Type Name Description
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.

Returns
Type Description
Task

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>(Func<TParam1, TParam2, TParam3, TParam4, TReturn>, TParam1, TParam2, TParam3, TParam4)

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 Task InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4>([Required] Func<TParam1, TParam2, TParam3, TParam4, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4)
Parameters
Type Name Description
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.

Returns
Type Description
Task

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>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5)

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 Task InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5>([Required] Func<TParam1, TParam2, TParam3, TParam4, TParam5, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5)
Parameters
Type Name Description
System.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.

Returns
Type Description
Task

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>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6)

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 Task InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6>([Required] Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6)
Parameters
Type Name Description
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.

Returns
Type Description
Task

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>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7)

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 Task InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7>([Required] Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TReturn> method, TParam1 arg1, TParam2 arg2, TParam3 arg3, TParam4 arg4, TParam5 arg5, TParam6 arg6, TParam7 arg7)
Parameters
Type Name Description
System.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.

Returns
Type Description
Task

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>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8)

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 Task InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8>([Required] 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)
Parameters
Type Name Description
System.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.

Returns
Type Description
Task

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>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9)

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 Task InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9>([Required] 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)
Parameters
Type Name Description
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.

Returns
Type Description
Task

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>(Func<TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10, TReturn>, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10)

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 Task InvalidateAsync<TReturn, TParam1, TParam2, TParam3, TParam4, TParam5, TParam6, TParam7, TParam8, TParam9, TParam10>([Required] 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)
Parameters
Type Name Description
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.

Returns
Type Description
Task

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.