Allows for centralized and run-time configuration of several instances of the CacheAttribute aspect.
Implements
Namespace: PostSharp.Patterns.Caching
Assembly: PostSharp.Patterns.Caching.dll
Syntax
public sealed class CachingProfile : ICacheItemConfiguration
Constructors
Name | Description |
---|---|
CachingProfile(string) | Initializes a new CachingProfile. |
Fields
Name | Description |
---|---|
DefaultName | The name of the default profile. |
Properties
Name | Description |
---|---|
AbsoluteExpiration | Gets or sets the total duration during which the result of the current method is stored in cache. The absolute expiration time is counted from the moment the method is evaluated and cached. |
AcquireLockTimeout | Gets or sets the maximum time that the caching aspect will wait for the LockManager to acquire a lock.
To specify an infinite waiting time, set this property to |
AcquireLockTimeoutStrategy | Gets or sets the behavior in case that the caching aspect could not acquire a lock because of a timeout. The default behavior is to throw a TimeoutException. You can implement your own strategy by implementing the IAcquireLockTimeoutStrategy interface. If the OnTimeout(string) does not return any exception, the cached method will be evaluated (even without a lock). |
AutoReload | Determines whether the method calls are automatically reloaded (by re-evaluating the target method with the same arguments) when the cache item is removed from the cache. |
IsEnabled | Determines whether caching is enabled for the current profile. |
LockManager | Gets or sets the lock manager used to synchronize the execution of methods that are cached with the current profile. The default lock manager is NullLockManager, which allows for concurrent execution of all methods. An alternative implementation is LocalLockManager, which prevents concurrent execution of the same method with the same parameters, in the current process (or AppDomain). |
Name | Gets the profile name (a case-insensitive string). |
Priority | Gets or sets the priority of the cached methods. |
SlidingExpiration | Gets or sets the duration during which the result of the current method is stored in cache after it has been added to or accessed from the cache. The expiration is extended every time the value is accessed from the cache. |