Represents the context in which a method being cached is executing.
Namespace: PostSharp.Patterns.Caching
Assembly: PostSharp.Patterns.Caching.dll
Syntax
public interface ICachingContextRemarks
Get the current context from CurrentContext. Dependencies added to it while a cached method is being evaluated
are attached to the cached result, which is removed from the cache when one of its dependencies is invalidated through Invalidate(string) or the other Invalidate methods of the caching service.
Outside of a cached method, the current context ignores the dependencies added to it.
The context flows to the methods called by the cached method. When the backend supports dependencies, a cached method called by another cached method becomes a dependency of the caller, even when its result comes from the cache. To prevent this propagation, for example for a task that the cached method starts and does not wait for, use SuspendDependencyPropagation().
Properties
| Name | Description |
|---|---|
| Kind | Gets the kind of ICachingContext. |
| Parent | Gets the parent context. |
Methods
| Name | Description |
|---|---|
| AddDependencies(IEnumerable<ICacheDependency>) | Adds a set of dependencies represented as ICacheDependency to the current context. |
| AddDependencies(IEnumerable<string>) | Adds a set of dependencies represented as keys to the current context. |
| AddDependency(ICacheDependency) | Adds a dependency represented as an ICacheDependency to the current context. |
| AddDependency(object) | Adds a dependency object to the current context. Calling this method is equivalent to wrapping the object into an ObjectDependency and calling the AddDependency(ICacheDependency) overload. |
| AddDependency(string) | Adds a dependency represented as a key to the current context. |