Class DataFactoryCache
Handles all page caching operations for DataFactory.
Inheritance
Inherited Members
Namespace: EPiServer
Assembly: EPiServer.dll
Version: 11.20.7Syntax
[Obsolete("Use IContentCacheKeyCreator and IContentCacheRemover")]
public class DataFactoryCache
Remarks
The DataFactoryCache class lets you manipulate the EPiServer cache directly, although you'll seldom need to do so. EPiServer uses the ASP.NET Cache class, which you can also manipulate if needed.
If you should need to insert data or change page relationships directly in the database, you can use this class to clear the cache, ensuring EPiServer loads the new data from the database.
Examples
Clear the cache in a scenario when you are manipulating the database without using the EPiServer API.
DataFactoryCache.Clear();
Constructors
DataFactoryCache()
Declaration
public DataFactoryCache()
Fields
ChildrenCacheKeyPrefix
Internal use. Exposed for testing purposes only.
Declaration
[Obsolete("Use IContentCacheKeyCreator.ChildrenCacheKeyPrefix instead")]
public const string ChildrenCacheKeyPrefix = "EPChildrenData:"
Field Value
| Type | Description |
|---|---|
| System.String |
ContentVersionKeyPrefix
Internal use. Exposed for testing purposes only.
Declaration
[Obsolete("Use IContentCacheKeyCreator.ContentVersionKeyPrefix instead")]
public const string ContentVersionKeyPrefix = "EPContentVersion:"
Field Value
| Type | Description |
|---|---|
| System.String |
PageCacheKeyPrefix
Internal use. Exposed for testing purposes only.
Declaration
[Obsolete("Use IContentCacheKeyCreator.ContentCacheKeyPrefix instead")]
public const string PageCacheKeyPrefix = "EPPageData:"
Field Value
| Type | Description |
|---|---|
| System.String |
PageLanguageCacheKeyPrefix
Internal use. Exposed for testing purposes only.
Declaration
[Obsolete("Use IContentCacheKeyCreator.ContentLanguageCacheKeyPrefix instead")]
public const string PageLanguageCacheKeyPrefix = "EPLanguageData:"
Field Value
| Type | Description |
|---|---|
| System.String |
REMOTE_CACHE_UPDATE_LIMIT
Internal use. Exposed for testing purposes only.
Declaration
[Obsolete("Use IContentCacheKeyCreator.RemoteCacheUpdateLimit instead")]
public const int REMOTE_CACHE_UPDATE_LIMIT = 100
Field Value
| Type | Description |
|---|---|
| System.Int32 |
RootKeyName
Everything stored in the DataFactoryCache has a dependency on this key.
Declaration
[Obsolete("Use IContentCacheKeyCreator.RootKeyName instead")]
public const string RootKeyName = "DataFactoryCache.MasterKey"
Field Value
| Type | Description |
|---|---|
| System.String |
SegmentCacheKeyPrefix
Internal use. Exposed for testing purposes only.
Declaration
[Obsolete("Use IContentCacheKeyCreator.SegmentCacheKeyPrefix instead")]
public const string SegmentCacheKeyPrefix = "EPSegmentData:"
Field Value
| Type | Description |
|---|---|
| System.String |
VersionKey
A global key that DataFactoryCache updates with a new version number everytime a content or listing is removed from cache. Targeted for use with output caching and other caching mechanism that cannot rely on a single item or page in EPiServer.
Declaration
[Obsolete("Use IContentCacheKeyCreator.VersionKey instead")]
public const string VersionKey = "DataFactoryCache.Version"
Field Value
| Type | Description |
|---|---|
| System.String |
Remarks
Does not update when content versions are changed
Properties
Version
The current version of the cache, this value is always updated when a Remove request is issued.
Declaration
[Obsolete("Use IContentCacheVersion.Version instead")]
public static long Version { get; }
Property Value
| Type | Description |
|---|---|
| System.Int64 |
Methods
AllowUploadEndpoints()
Start pre-populating the cache with content tree end-points.
Declaration
[Obsolete("This method has no longer supported since the built-in content provider does this optimization by default")]
public static void AllowUploadEndpoints()
Remarks
This method is intended for internal use. Calling it will start an asynchronous job that reads all endpoints (content without children) from the content tree and puts this information into the cache. This is primarily useful to speed up the tree operations in edit mode.
ChildrenCacheKey(ContentReference)
Create the key used to store/retrieve the dependency objects for children to content
Declaration
[Obsolete("Use IContentCacheKeyCreator.ChildrenCacheKey instead")]
public static string ChildrenCacheKey(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content that has the children. |
Returns
| Type | Description |
|---|---|
| System.String | A string which is the cache key. |
ChildrenCacheKey(ContentReference, String)
Create the key used to store/retrieve children from the cache for a specific language
Declaration
[Obsolete("Use IContentCacheKeyCreator.ChildrenCacheKey instead")]
public static string ChildrenCacheKey(ContentReference contentLink, string languageID)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content that has the children. |
| System.String | languageID | The language for which the listing was made |
Returns
| Type | Description |
|---|---|
| System.String | A string which is the cache key. |
Clear()
Clear all pages from cache
Declaration
[Obsolete("Use IContentCacheRemover.Clear instead")]
public static void Clear()
ContentVersionCacheKey(ContentReference)
Creates the cache key used to cache a specific version of a content.
Declaration
[Obsolete("Use IContentCacheKeyCreator.ContentVersionCacheKey instead")]
public static string ContentVersionCacheKey(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content link. |
Returns
| Type | Description |
|---|---|
| System.String |
ContentVersionCommonCacheKey(ContentReference)
Creates the common cache key used to clear all cached versions for a given content item.
Declaration
[Obsolete("Use IContentCacheKeyCreator.ContentVersionCommonCacheKey instead")]
public static string ContentVersionCommonCacheKey(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The content link. |
Returns
| Type | Description |
|---|---|
| System.String |
CreateDependency(ContentReference)
Get a cache dependency for content item.
Declaration
[Obsolete("Use 'new CacheDependency(null, new string[1] { IContentCacheKeyCreator.CreateCommonCacheKey(contentLink) })' instead", true)]
public static object CreateDependency(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink |
Returns
| Type | Description |
|---|---|
| System.Object | A initialized cache dependency object |
Initialize(IContentCacheKeyCreator, IContentCacheRemover, IContentCacheListingRemover, IContentCacheVersion)
Declaration
public static void Initialize(IContentCacheKeyCreator contentCacheKeyCreator, IContentCacheRemover contentCacheRemover, IContentCacheListingRemover contentCacheListingRemover, IContentCacheVersion contentCacheVersion)
Parameters
| Type | Name | Description |
|---|---|---|
| IContentCacheKeyCreator | contentCacheKeyCreator | |
| IContentCacheRemover | contentCacheRemover | |
| IContentCacheListingRemover | contentCacheListingRemover | |
| IContentCacheVersion | contentCacheVersion |
Initialize(IContentLoader, IContentProviderManager, IContentEvents)
Initializes the DataFactoryCache.
Declaration
[Obsolete("Use Initialize(IContentLoader, IContentProviderManager, IContentEvents, IContentCacheKeyCreator, IContentCacheRemover) instead")]
public static void Initialize(IContentLoader contentLoader, IContentProviderManager pageProviderManager, IContentEvents contentEvents)
Parameters
| Type | Name | Description |
|---|---|---|
| IContentLoader | contentLoader | The content loader. |
| IContentProviderManager | pageProviderManager | The page enterprise service to use. |
| IContentEvents | contentEvents | The content events. |
Initialize(Object)
Declaration
public static void Initialize(object dataFactory)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | dataFactory |
PageCommonCacheKey(ContentReference)
Create the cache key used to relate the different languages of a page to each other
Declaration
[Obsolete("Use IContentCacheKeyCreator.PageCommonCacheKey instead")]
public static string PageCommonCacheKey(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The page link. |
Returns
| Type | Description |
|---|---|
| System.String |
PageLanguageCacheKey(ContentReference, String)
Create the key used to store/retrieve a PageData object of a specific language from the cache.
Declaration
[Obsolete("Use IContentCacheKeyCreator.ContentLanguageCacheKey instead")]
public static string PageLanguageCacheKey(ContentReference contentLink, string languageBranch)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | A PageReference object for the PageData to store/retrieve. |
| System.String | languageBranch | The language branch for which the key should be created. If languageBranch is null, a master language cache key is created |
Returns
| Type | Description |
|---|---|
| System.String | A string which is the cache key. |
PageMasterLanguageCacheKey(ContentReference)
Create the key used to store/retrieve the PageData object that is Master Language
Declaration
[Obsolete("Use IContentCacheKeyCreator.ContentMasterLanguageCacheKey instead")]
public static string PageMasterLanguageCacheKey(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | A PageReference object for the PageData to store/retrieve. |
Returns
| Type | Description |
|---|---|
| System.String | A string which is the cache key. |
RemoveListing(ContentReference)
Remove caching for children
Declaration
[Obsolete("Use IContentCacheListingRemover.RemoveListing instead")]
public static void RemoveListing(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The page to remove children from cache |
RemovePage(ContentReference)
Remove cache for a specific page including all languages
Declaration
[Obsolete("Use IContentCacheRemover.Remove instead")]
public static void RemovePage(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The page to remove from cache |
RemovePageLanguage(ContentReference, String)
Remove a page on a specific language from cache
Declaration
[Obsolete("Use IContentCacheRemover.RemoveLanguage instead")]
public static void RemovePageLanguage(ContentReference contentLink, string languageBranch)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The page to remove from cache |
| System.String | languageBranch | The language branch of the page to remove |
RemovePageLanguageLocally(ContentReference, String)
Remove a page on a specific language only from locally cache
Declaration
[Obsolete("Use IContentCacheRemover.RemoveLanguageLocally instead")]
public static void RemovePageLanguageLocally(ContentReference contentLink, string languageBranch)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The page to remove from cache |
| System.String | languageBranch | The language branch of the page to remove |
RemovePages(IList<ContentReference>)
Remove cache for a specific page
Declaration
[Obsolete("Use IContentCacheRemover.Remove instead")]
public static void RemovePages(IList<ContentReference> contentLinks)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IList<ContentReference> | contentLinks | The pages to remove from cache |
RemoveSegmentListing(ContentReference, String)
Remove segment cache for specifoed parent and urlsegment.
Declaration
[Obsolete("Use IContentCacheListingRemover.RemoveSegment instead")]
public static void RemoveSegmentListing(ContentReference parentLink, string urlSegment)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | parentLink | The parent link. |
| System.String | urlSegment | The URL segment. |
RemoveSubTree(ContentReference)
Remove all cached pages that are direct or indirect children.
Declaration
[Obsolete("Use IContentCacheListingRemover.RemoveDescendents instead")]
public static void RemoveSubTree(ContentReference contentLink)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | contentLink | The page that defines the root node of the subtree. |
Remarks
Note that the page pageLink is not removed from cache by this method.
ResolveCacheKey(String, out Int32)
Resolves the cache key into a page reference.
Declaration
[Obsolete("Use IContentCacheKeyCreator.ResolveCacheKey instead")]
public static string ResolveCacheKey(string cacheKey, out int pageReferenceID)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | cacheKey | The cache key. |
| System.Int32 | pageReferenceID | The page reference ID. |
Returns
| Type | Description |
|---|---|
| System.String | The cache key prefic of the cache key. |
SegmentCacheKey(ContentReference, String)
Create the key used to store/retrieve matching url children segments for from the cache.
Declaration
[Obsolete("Use IContentCacheKeyCreator.SegmentCacheKey instead")]
public static string SegmentCacheKey(ContentReference parentLink, string urlSegment)
Parameters
| Type | Name | Description |
|---|---|---|
| ContentReference | parentLink | A ContentReference object for the IContent which child segments is to be matched. |
| System.String | urlSegment | The URL segment that is matched for. |
Returns
| Type | Description |
|---|---|
| System.String | A string which is the cache key. |
UnInitialize()
Undo the initialization.
Declaration
[Obsolete("Use UnInitialize(IContentEvents contentEvents)")]
public static void UnInitialize()
UnInitialize(IContentEvents)
Undo the initialization.
Declaration
public static void UnInitialize(IContentEvents contentEvents)
Parameters
| Type | Name | Description |
|---|---|---|
| IContentEvents | contentEvents | The content events. |