PostSharp6.2/API Reference/Post­Sharp.​Patterns.​Caching.​Implementation Namespace/Caching­Backend­Enhancer Class

CachingBackendEnhancer Class

A base class for all cache enhancers. A CachingBackendEnhancer is a node in a chain of responsibility where the last node is the physical implementation of the CachingBackend. A CachingBackendEnhancer can add behaviors to a CachingBackend.
Inheritance Hierarchy

Namespace:  PostSharp.Patterns.Caching.Implementation
Assembly:  PostSharp.Patterns.Caching (in PostSharp.Patterns.Caching.dll) Version: 6.2.13.0 (6.2.13.0)
Syntax
C#
public abstract class CachingBackendEnhancer : CachingBackend

The CachingBackendEnhancer type exposes the following members.

Constructors
  NameDescription
Protected methodCachingBackendEnhancer
Initializes a new CachingBackendEnhancer.
Properties
  NameDescription
Public propertyId
Gets the Guid of the current CachingBackend.
(Inherited from CachingBackend.)
Protected propertyLogger
Gets the Logger that implementations can use to emit log records.
(Inherited from CachingBackend.)
Public propertyStatus
Gets the status of the current CachingBackend (Default, Disposing or Disposed).
(Inherited from CachingBackend.)
Public propertySupportedFeatures
Gets the set of features supported by the current CachingBackend.
(Inherited from CachingBackend.)
Public propertyUnderlyingBackend
Gets the next CachingBackend in the chain of responsibility.
Public propertyValueAdapters
Gets the factory of value adapters (IValueAdapter), which allow for instance to cache things like Stream or IEnumerable, which could not be otherwise cached.
(Inherited from CachingBackend.)
Methods
  NameDescription
Public methodClear
Clears the cache.
(Inherited from CachingBackend.)
Public methodClearAsync
Asynchronously clears the cache.
(Inherited from CachingBackend.)
Protected methodClearAsyncCore
Asynchronously clears the cache. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked.
(Overrides CachingBackend.ClearAsyncCore(CancellationToken).)
Protected methodClearCore
Clears the cache. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked.
(Overrides CachingBackend.ClearCore().)
Public methodContainsDependency
Determines whether the cache contains a given dependency.
(Inherited from CachingBackend.)
Public methodContainsDependencyAsync
Asynchronously determines whether the cache contains a given dependency.
(Inherited from CachingBackend.)
Protected methodContainsDependencyAsyncCore
Asynchronously determines whether the cache contains a given dependency. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.ContainsDependencyAsyncCore(String, CancellationToken).)
Protected methodContainsDependencyCore
Determines whether the cache contains a given dependency. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.ContainsDependencyCore(String).)
Public methodContainsItem
Determines whether the cache contains an item of a given key.
(Inherited from CachingBackend.)
Public methodContainsItemAsync
Asynchronously determines whether the cache contains an item of a given key.
(Inherited from CachingBackend.)
Protected methodContainsItemAsyncCore
Asynchronously determines whether the cache contains an item of a given key. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.ContainsItemAsyncCore(String, CancellationToken).)
Protected methodContainsItemCore
Determines whether the cache contains an item of a given key. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.ContainsItemCore(String).)
Protected methodCreateFeatures
Creates a CachingBackendFeatures object, which describes set of features implemented by the back-end. This method is invoked the first time the SupportedFeatures property is evaluated. The result is then cached.
(Overrides CachingBackend.CreateFeatures().)
Public methodDispose()
Synchronously disposes the current CachingBackend.
(Inherited from CachingBackend.)
Protected methodDispose(Boolean)
Synchronously disposes the current CachingBackend, with a parameter instructing whether this method is called because of a call to the Dispose() method or because of object finalizing.
(Inherited from CachingBackend.)
Public methodDisposeAsync
Asynchronously dispose the current CachingBackend.
(Inherited from CachingBackend.)
Protected methodDisposeAsyncCore
Asynchronously disposes the current CachingBackend. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked.
(Overrides CachingBackend.DisposeAsyncCore(CancellationToken).)
Protected methodDisposeCore
Synchronously disposes the current CachingBackend. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked.
(Overrides CachingBackend.DisposeCore(Boolean).)
Public methodGetItem
Gets a cache item given its key.
(Inherited from CachingBackend.)
Public methodGetItemAsync
Asynchronously gets a cache item given its key.
(Inherited from CachingBackend.)
Protected methodGetItemAsyncCore
Asynchronously gets a cache item given its key. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.GetItemAsyncCore(String, Boolean, CancellationToken).)
Protected methodGetItemCore
Gets a cache item given its key. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.GetItemCore(String, Boolean).)
Public methodInvalidateDependency
Removes from the cache all items that have a specific dependency.
(Inherited from CachingBackend.)
Public methodInvalidateDependencyAsync
Asynchronously removes from the cache all items that have a specific dependency. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Inherited from CachingBackend.)
Protected methodInvalidateDependencyAsyncCore
Asynchronously removes from the cache all items that have a specific dependency. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.InvalidateDependencyAsyncCore(String, CancellationToken).)
Protected methodInvalidateDependencyCore
Removes from the cache all items that have a specific dependency. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.InvalidateDependencyCore(String).)
Protected methodOnBackendDependencyInvalidated
Method invoked when the DependencyInvalidated event of the next UnderlyingBackend in the chain of responsibility is invoked.
Protected methodOnBackendItemRemoved
Method invoked when the ItemRemoved event of the next UnderlyingBackend in the chain of responsibility is invoked.
Protected methodOnDependencyInvalidated(CacheDependencyInvalidatedEventArgs) (Inherited from CachingBackend.)
Protected methodOnDependencyInvalidated(String, Guid)
Raises the DependencyInvalidated event , but lazily instantiates the CacheDependencyInvalidatedEventArgs if there is an event client.
(Inherited from CachingBackend.)
Protected methodOnItemRemoved(CacheItemRemovedEventArgs)
Raises the ItemRemoved event given a CacheItemRemovedEventArgs.
(Inherited from CachingBackend.)
Protected methodOnItemRemoved(String, CacheItemRemovedReason, Guid)
Raises the ItemRemoved event, but lazily instantiates the CacheItemRemovedEventArgs if there is an event client.
(Inherited from CachingBackend.)
Public methodRemoveItem
Removes a cache item from the cache given its key.
(Inherited from CachingBackend.)
Public methodRemoveItemAsync
Asynchronously removes a cache item from the cache given its key.
(Inherited from CachingBackend.)
Protected methodRemoveItemAsyncCore
Asynchronously removes a cache item from the cache given its key. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.RemoveItemAsyncCore(String, CancellationToken).)
Protected methodRemoveItemCore
Removes a cache item from the cache given its key. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.RemoveItemCore(String).)
Public methodSetItem
Sets a cache item.
(Inherited from CachingBackend.)
Public methodSetItemAsync
Asynchronously sets a cache item.
(Inherited from CachingBackend.)
Protected methodSetItemAsyncCore
Asynchronously sets a cache item. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API. The default implementation is to call the synchronous SetItemCore(String, CacheItem) method.
(Overrides CachingBackend.SetItemAsyncCore(String, CacheItem, CancellationToken).)
Protected methodSetItemCore
Sets a cache item. This protected method is part of the implementation API and is meant to be overridden in user code, not invoked. Arguments are already validated by the consumer API.
(Overrides CachingBackend.SetItemCore(String, CacheItem).)
Public methodToString
Returns a string that represents the current object.
(Inherited from CachingBackend.)
Public methodWhenBackgroundTasksCompleted
Returns a Task that is signaled to the complete state when all background tasks have completed.
(Inherited from CachingBackend.)
Events
  NameDescription
Public eventDependencyInvalidated
Events raised when a dependency is invalidated. Check the Events property to see if the current CachingBackend supports events.
(Inherited from CachingBackend.)
Public eventItemRemoved
Event raised when a cache item is removed from the cache. Check the Events property to see if the current CachingBackend supports events.
(Inherited from CachingBackend.)
Remarks

The default behavior of all methods of a CachingBackendEnhancer is to delegate the implementation to the next CachingBackend in the chain of responsibility.

See Also