Прочитать на английском

Поделиться через


CacheDependency Класс

Определение

Устанавливает отношения зависимости между элементом, который хранится в объекте приложения ASP.NET Cache, и файлом, ключом кэша, массивом или другим объектом CacheDependency. Класс CacheDependency отслеживает отношения зависимости на предмет изменений, автоматически удаляя кэшированный элемент.

C#
public sealed class CacheDependency : IDisposable
C#
public class CacheDependency : IDisposable
Наследование
CacheDependency
Производный
Реализации

Примеры

В следующем примере кода показано использование HasChanged свойства , чтобы определить, изменилось ли CacheDependency с момента предыдущего запроса для элемента в Cache. Значение dt , передаваемое в параметре start , имеет значение DateTime.Now.

C#
// Insert the cache item.
CacheDependency dep = new CacheDependency(fileName, dt);
cache.Insert("key", "value", dep);

// Check whether CacheDependency.HasChanged is true.
if (dep.HasChanged)
  Response.Write("<p>The dependency has changed.");  
else Response.Write("<p>The dependency has not changed.");

Комментарии

Если в кэш добавляется элемент, зависящий от другого объекта, например файла или массива файлов, зависимый элемент автоматически удаляется из кэша при изменении объекта. Например, предположим, что вы создаете DataSet объект на основе данных в XML-файле. Можно добавить в DataSet кэш с CacheDependency помощью объекта , который делает зависимым DataSet от XML-файла. Если XML-файл изменяется, DataSet объект удаляется из кэша.

Элементы с зависимостями можно добавлять в кэш приложения с помощью Add методов и Cache.Insert . Свойство нельзя использовать Item[] для добавления элементов в кэш с зависимостями.

Чтобы настроить зависимость, необходимо создать экземпляр CacheDependency класса , указав файлы, ключи или каталоги, от которых зависит элемент, а затем передать зависимость Add в метод или Cache.Insert . Экземпляр CacheDependency может представлять один файл или каталог, массив файлов или каталогов, массив файлов или каталогов вместе с массивом ключей кэша (они представляют другие элементы, хранящиеся в объекте Cache ).

Конструкторы

CacheDependency()

Инициализирует новый экземпляр класса CacheDependency.

CacheDependency(String)

Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения файла или каталога.

CacheDependency(String, DateTime)

Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения файла или каталога.

CacheDependency(String[])

Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам).

CacheDependency(String[], DateTime)

Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам) и определяющий время начала отслеживания изменений.

CacheDependency(String[], String[])

Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу.

CacheDependency(String[], String[], CacheDependency)

Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу. Он также становится зависимым от отдельного экземпляра класса CacheDependency.

CacheDependency(String[], String[], CacheDependency, DateTime)

Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу. Он также становится зависимым от другого экземпляра класса CacheDependency и времени начала отслеживания изменений.

CacheDependency(String[], String[], DateTime)

Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу.

Свойства

HasChanged

Получает значение, указывающее, изменился ли объект CacheDependency.

UtcLastModified

Получает время последнего изменения зависимости.

Методы

DependencyDispose()

Освобождает ресурсы, используемые классом CacheDependency и любыми классами, производными от CacheDependency.

Dispose()

Освобождает ресурсы, используемые объектом CacheDependency.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FinishInit()

Завершает инициализацию объекта CacheDependency.

GetFileDependencies()

Возвращает зависимости файлов.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetUniqueID()

Извлекает уникальный идентификатор для объекта CacheDependency.

ItemRemoved()

Вызывается при удалении отслеживаемой записи кэша.

KeepDependenciesAlive()

Обновляет время последнего обращения к каждому элементу кэша, который зависит от этого элемента.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
NotifyDependencyChanged(Object, EventArgs)

Уведомляет базовый объект CacheDependency об изменении зависимости, представленной производным классом CacheDependency.

SetCacheDependencyChanged(Action<Object,EventArgs>)

Добавляет метод действия для обработки уведомления заинтересованной стороны об изменениях в этой зависимости.

SetUtcLastModified(DateTime)

Помечает время последнего изменения зависимости.

TakeOwnership()

Позволяет первому пользователю объявлять монопольный доступ к этой зависимости.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

См. также раздел