This document is provided on an "AS IS" basis without warranties of any kind. Smartsite iXperion class libraries may change in future releases.
Smartsite caching.

Syntax

C# Copy imageCopy Code
                          namespace Smartsite.Tools.Caching
Visual Basic (Declaration) Copy imageCopy Code
                          Namespace Smartsite.Tools.Caching

Classes

  Class Description
Public class BackgroundScheduler
Represents a cache scavenger that runs on a background thread.
Public class Cache
The real worker of the block. The Cache class is the traffic cop that prevents resource contention among the different threads in the system. It also will act as the remoting gateway when that feature is added to the cache.
Public class CacheCapacityScavengingPolicy
Cache scavanging policy based on capacity.
Public class CacheItem
This class contains all data important to define an item stored in the cache. It holds both the key and value specified by the user, as well as housekeeping information used internally by this block. It is public, rather than internal, to allow block extenders access to it inside their own implementations of IBackingStore.
Public class CacheManager
This class represents the interface to caching as shown to the user. All caching operations are performed through this class.
Public class ExpirationPollTimer
Represents an expiration poll timer.
Public class ExpirationTask
Represents a task to perform expiration on cached items.
Public class PriorityDateComparer
Sorts the cache items in data for scavenging
Public class ProducerConsumerQueue
Represents a thread safe queue.
Public class RefreshActionInvoker
Purpose of this class is to encapsulate the behavior of how ICacheItemRefreshActions are invoked in the background.
Public class ScavengerTask
Represents the task to start scavenging items in a CacheManager.
Public class SerializationUtility
Utility class for serializing and deserializing objects to and from byte streams

Interfaces

  Interface Description
Public interface IBackingStore
This interface defines the contract that must be implemented by all backing stores. Implementors of this method are responsible for interacting with their underlying persistence mechanisms to store and retrieve CacheItems. All methods below must guarantee Weak Exception Safety. This means that operations must complete entirely, or they must completely clean up from the failure and leave the cache in a consistent state. The mandatory cleanup process will remove all traces of the item that caused the failure, causing that item to be expunged from the cache entirely.
Public interface ICacheItemExpiration
Allows end users to implement their own cache item expiration schema.
Public interface ICacheItemRefreshAction
This interface defines the contract that must be implemented to create an object that can be used to refresh an expired item from the cache. The implementing class must be serializable. Care must be taken when implementing this interface not to create an object that maintains too much state about its environment, as all portions of its environment will be serialized as well, creating possibly a huge object graph.
Public interface ICacheOperations
Represents a cache operation.
Public interface ICacheScavenger
Represents a cache scavenger.

Enumerations

  Enumeration Description
Public enumeration CacheItemPriority
Specifies the item priority levels.
Public enumeration CacheItemRemovedReason
The reason that the cache item was removed.
Advanced