CacheDependency Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса CacheDependency.
Перегрузки
CacheDependency() |
Инициализирует новый экземпляр класса CacheDependency. |
CacheDependency(String) |
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения файла или каталога. |
CacheDependency(String[]) |
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам). |
CacheDependency(String, DateTime) |
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения файла или каталога. |
CacheDependency(String[], DateTime) |
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам) и определяющий время начала отслеживания изменений. |
CacheDependency(String[], String[]) |
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу. |
CacheDependency(String[], String[], DateTime) |
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу. |
CacheDependency(String[], String[], CacheDependency) |
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу. Он также становится зависимым от отдельного экземпляра класса CacheDependency. |
CacheDependency(String[], String[], CacheDependency, DateTime) |
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу. Он также становится зависимым от другого экземпляра класса CacheDependency и времени начала отслеживания изменений. |
CacheDependency()
Инициализирует новый экземпляр класса CacheDependency.
protected:
CacheDependency();
protected CacheDependency ();
Protected Sub New ()
Примеры
Следующий пример кода — это класс, реализующий эту версию конструктора CacheDependency , так как требуются все классы, производные от CacheDependency них.
' Declare the class.
Public Class CustomCacheDependency
Inherits CacheDependency
' Constructor with no arguments
' provided by CacheDependency class.
Public Sub New()
End Sub
' Declare a Boolean field named disposedValue.
' This will be used by Disposed property.
Private disposedValue As Boolean
' Create accessors for the Disposed property.
Public Property Disposed As Boolean
Get
Return disposedValue
End Get
Set (ByVal value As Boolean)
disposedValue = value
End Set
End Property
' Create a public method that sets the latest
' changed time of the CustomCacheDependency
' and notifies the underlying CacheDependency that the
' dependency has changed, even though the HasChanged
' property is false.
Public Sub ResetDependency()
If Me.HasChanged = False
SetUtcLastModified(DateTime.MinValue)
NotifyDependencyChanged(Me, EventArgs.Empty)
End If
End Sub
' Overrides the DependencyDispose method to set the
' Disposed proerty to true. This method automatically
' notifies the underlying CacheDependency object to
' release any resources associated with this class.
Protected Overrides Sub DependencyDispose()
Disposed = True
End Sub
End Class
Комментарии
Если вы хотите наследовать собственный класс, CacheDependencyреализуйте эту версию конструктора CacheDependency .
См. также раздел
Применяется к
CacheDependency(String)
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения файла или каталога.
public:
CacheDependency(System::String ^ filename);
public CacheDependency (string filename);
new System.Web.Caching.CacheDependency : string -> System.Web.Caching.CacheDependency
Public Sub New (filename As String)
Параметры
- filename
- String
Путь к файлу или каталогу, от которого зависит кэшированный объект. При изменении ресурса кэшированный объект становится устаревшим и удаляется из кэша.
Примеры
В следующем примере кода создается экземпляр CacheDependency класса с зависимостью от XML-файла. Затем Cache.Insert метод добавляет элемент в элемент, зависящий Cache от этого файла.
CacheDependency dep = new CacheDependency(Server.MapPath("isbn.xml"));
Cache.Insert("ISBNData", Source, dep);
Dim dep As New CacheDependency(Server.MapPath("isbn.xml"))
Cache.Insert("ISBNData", Source, dep)
Вы также можете использовать следующий метод, чтобы добавить элемент в Cache файл с зависимостью от файла.
// Make key1 dependent on a file.
CacheDependency dependency = new CacheDependency(Server.MapPath("isbn.xml"));
Cache.Insert("key1", "Value 1", dependency);
' Make key1 dependent on a file.
Dim dependency as new CacheDependency(Server.MapPath("isbn.xml"))
Cache.Insert("key1", "Value 1", dependency)
End If
Комментарии
Если каталог или файл, указанный в параметре filename
, не найден в файловой системе, он будет рассматриваться как отсутствующий. Если в каталог или файл отсутствует при добавлении Cacheобъекта с зависимостью, кэшированный объект будет удален из Cache каталога или файла.
Например, предположим, что вы добавляете объект в Cache объект с зависимостью от следующего пути к файлу: c:\stocks\xyz.dat. Если этот файл не найден при CacheDependency создании объекта, но создается позже, кэшированный объект удаляется при создании файла xyz.dat.
См. также раздел
Применяется к
CacheDependency(String[])
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам).
public:
CacheDependency(cli::array <System::String ^> ^ filenames);
public CacheDependency (string[] filenames);
new System.Web.Caching.CacheDependency : string[] -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String())
Параметры
- filenames
- String[]
Массив путей (к файлам или каталогам), от которого зависит кэшированный объект. При изменении любого из ресурсов кэшированный объект становится устаревшим и удаляется из кэша.
Примеры
В следующем примере кода показано, как использовать Cache.Insert метод для добавления элемента в Cache массив файлов с зависимостями. Элемент также можно сделать зависимым от массива каталогов.
// Make key1 dependent on several files.
String[] files = new String[2];
files[0] = Server.MapPath("isbn.xml");
files[1] = Server.MapPath("customer.xml");
CacheDependency dependency = new CacheDependency(files);
Cache.Insert("key1", "Value 1", dependency);
}
' Make key1 dependent on several files.
Dim files(2) as String
files(0) = Server.MapPath("isbn.xml")
files(1) = Server.MapPath("customer.xml")
Dim dependency as new CacheDependency(files)
Cache.Insert("key1", "Value 1", dependency)
End If
Комментарии
Если какой-либо из файлов или каталогов в массиве изменяется или удаляется из массива, кэшированный элемент становится устаревшим и удаляется из объекта приложения Cache .
Кроме того, если любой из каталогов или файлов, указанных в параметре, не найден в filenames
файловой системе, он считается отсутствующим. Если в каталог или файл отсутствует при добавлении Cacheобъекта с зависимостью, кэшированный объект будет удален из Cache каталога или файла при создании этого каталога или файла.
Например, предположим, что вы добавляете объект в Cache объект с зависимостью от следующего пути к файлу: c:\stocks\xyz.dat. Если этот файл не найден при CacheDependency создании объекта, но создается позже, кэшированный объект удаляется при создании файла xyz.dat.
Примечание
При создании массива, содержащего зависимости файлов, необходимо определить количество файлов, от которых зависит добавляемый Cache элемент.
См. также раздел
Применяется к
CacheDependency(String, DateTime)
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения файла или каталога.
public:
CacheDependency(System::String ^ filename, DateTime start);
public CacheDependency (string filename, DateTime start);
new System.Web.Caching.CacheDependency : string * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filename As String, start As DateTime)
Параметры
- filename
- String
Путь к файлу или каталогу, от которого зависит кэшированный объект. При изменении ресурса кэшированный объект становится устаревшим и удаляется из кэша.
- start
- DateTime
Время, по которому проверяется дата последнего изменения каталога или файла.
Примеры
В следующем примере кода этот конструктор используется для создания экземпляра CacheDependency объекта, а затем вставляет элемент в Cache эту зависимость. Значение dt
, переданное в параметре start
, имеет значение DateTime.Now.
// 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.");
' Insert the cache item.
Dim dep As New CacheDependency(fileName, dt)
myCache.Insert("key", "value", dep)
' Check whether CacheDependency.HasChanged is true.
If dep.HasChanged Then
Response.Write("<p>The dependency has changed.")
Else
Response.Write("<p>The dependency has not changed.")
End If
Комментарии
Если каталог или файл, указанный в параметре filename
, не найден в файловой системе, он будет рассматриваться как отсутствующий. Если в каталог или файл отсутствует при добавлении Cacheобъекта с зависимостью, кэшированный объект будет удален из Cache каталога или файла.
Например, предположим, что вы добавляете объект в Cache объект с зависимостью от следующего пути к файлу: c:\stocks\xyz.dat. Если этот файл не найден при CacheDependency создании объекта, но создается позже, кэшированный объект удаляется при создании файла xyz.dat.
Примечание
Отслеживание изменений начинается немедленно и не основано непосредственно на параметре start
. start
Используйте параметр для передачи даты и времени в прошлом, для которого требуется проверить дату последнего изменения каталога или файла, переданного в параметреfilename
. Если дата последнего изменения превышает дату и время, переданные в параметре start
, кэшированный элемент удаляется из Cacheпараметра.
См. также раздел
Применяется к
CacheDependency(String[], DateTime)
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам) и определяющий время начала отслеживания изменений.
public:
CacheDependency(cli::array <System::String ^> ^ filenames, DateTime start);
public CacheDependency (string[] filenames, DateTime start);
new System.Web.Caching.CacheDependency : string[] * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), start As DateTime)
Параметры
- filenames
- String[]
Массив путей (к файлам или каталогам), от которого зависит кэшированный объект. При изменении любого из ресурсов кэшированный объект становится устаревшим и удаляется из кэша.
- start
- DateTime
Время, по которому проверяется дата последнего изменения объектов массива.
Примеры
В следующем примере кода создается CacheDependency объект, который передает два XML-файла и DateTime.Now значение, если объект включен в качестве аргумента параметра в Cache.Insert вызове метода.
// Create a DateTime object that determines
// when dependency monitoring begins.
DateTime dt = DateTime.Now;
// Make key1 dependent on several files.
String[] files = new String[2];
files[0] = Server.MapPath("isbn.xml");
files[1] = Server.MapPath("customer.xml");
CacheDependency dep = new CacheDependency(files, dt);
Cache.Insert("key1", "Value 1", dep);
}
' Create a DateTime object that determines
' when dependency monitoring begins.
Dim dt As DateTime = DateTime.Now
' Make key1 dependent on several files.
Dim files(2) as String
files(0) = Server.MapPath("isbn.xml")
files(1) = Server.MapPath("customer.xml")
Dim dependency as new CacheDependency(files, dt)
Cache.Insert("key1", "Value 1", dependency)
End If
Комментарии
Если какой-либо из каталогов или файлов, указанных в параметре filenames
, не найден в файловой системе, он считается отсутствующим. Если в каталог или файл отсутствует при добавлении Cacheобъекта с зависимостью, кэшированный объект будет удален из Cache каталога или файла при создании этого каталога или файла.
Например, предположим, что вы добавляете объект в Cache объект с зависимостью от следующего пути к файлу: c:\stocks\xyz.dat. Если этот файл не найден при CacheDependency создании объекта, но создается позже, кэшированный объект удаляется при создании файла xyz.dat.
Примечание
Отслеживание изменений начинается немедленно и не основано непосредственно на параметре start
. start
Используйте параметр для передачи даты и времени в прошлом, для которого требуется проверить дату последнего изменения массива, переданного в параметреfilenames
. Если дата последнего изменения любого объекта в массиве превышает дату и время, переданные в start
параметре, кэшированный элемент удаляется из массива Cache.
См. также раздел
Применяется к
CacheDependency(String[], String[])
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу.
public:
CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys);
public CacheDependency (string[] filenames, string[] cachekeys);
new System.Web.Caching.CacheDependency : string[] * string[] -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String())
Параметры
- filenames
- String[]
Массив путей (к файлам или каталогам), от которого зависит кэшированный объект. При изменении любого из ресурсов кэшированный объект становится устаревшим и удаляется из кэша.
- cachekeys
- String[]
Массив ключей кэша, изменения которых отслеживает новый объект. При изменении любого из ключей кэша кэшированный объект, связанный с этой зависимостью, становится устаревшим и удаляется из кэша.
Примеры
В следующем фрагменте кода показано, как вставить элемент в приложение Cache с зависимостью от ключа к другому элементу, размещенного в кэше. Так как этот метод использует синтаксис массива, необходимо определить количество ключей, от которых зависит Cache добавляемый элемент.
public void CreateDependency(Object sender, EventArgs e) {
// Create a cache entry.
Cache["key1"] = "Value 1";
// Make key2 dependent on key1.
String[] dependencyKey = new String[1];
dependencyKey[0] = "key1";
CacheDependency dependency = new CacheDependency(null, dependencyKey);
Cache.Insert("key2", "Value 2", dependency);
DisplayValues();
}
Public Sub CreateDependency(sender As Object, e As EventArgs)
' Create a cache entry.
Cache("key1") = "Value 1"
' Make key2 dependent on key1.
Dim dependencyKey(0) As String
dependencyKey(0) = "key1"
Dim dependency As new CacheDependency(Nothing, dependencyKey)
Cache.Insert("key2", "Value 2", dependency)
DisplayValues()
End Sub
Комментарии
Кроме того, если любой из каталогов или файлов, указанных в параметре, не найден в filenames
файловой системе, он считается отсутствующим. Если в каталог или файл отсутствует при добавлении Cacheобъекта с зависимостью, кэшированный объект будет удален из Cache каталога или файла при создании этого каталога или файла.
Например, предположим, что вы добавляете объект в Cache объект с зависимостью от следующего пути к файлу: c:\stocks\xyz.dat. Если этот файл не найден при CacheDependency создании объекта, но создается позже, кэшированный объект удаляется при создании файла xyz.dat.
cachekeys
Однако зависимость работает не так же. Если хотя бы одно значение в cachekeys
параметре не существует во время вставки, вставка завершается ошибкой. Обратите внимание, что для этого сценария нет исключения.
См. также раздел
Применяется к
CacheDependency(String[], String[], DateTime)
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу.
public:
CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, DateTime start);
public CacheDependency (string[] filenames, string[] cachekeys, DateTime start);
new System.Web.Caching.CacheDependency : string[] * string[] * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), start As DateTime)
Параметры
- filenames
- String[]
Массив путей (к файлам или каталогам), от которого зависит кэшированный объект. При изменении любого из ресурсов кэшированный объект становится устаревшим и удаляется из кэша.
- cachekeys
- String[]
Массив ключей кэша, изменения которых отслеживает новый объект. При изменении любого из ключей кэша кэшированный объект, связанный с этой зависимостью, становится устаревшим и удаляется из кэша.
- start
- DateTime
Дата и время, по которым проверяется дата последнего изменения объектов, переданных в filenames
и cachekeys
.
Примеры
В следующем примере кода создается CreateDependency
метод. При вызове этого метода создается DateTime объект, а Cache.Item[] свойство используется для добавления элемента в кэш с параметром key
key1
и значением Value 1
. Затем создается массив строк dependencyKey
с таким же значением key1
. Затем этот CacheDependency конструктор создает экземпляр CacheDependency объекта, который передает dependencyKey
и объект в DateTime качестве аргументов параметров. Метод Cache.Insert вызывается далее, используя CacheDependency объект в качестве параметра. Это делает объект, добавленный в кэш, используя Insert метод, зависящий key1
от ключа.
public void CreateDependency(Object sender, EventArgs e)
{
// Create a DateTime object.
DateTime dt = DateTime.Now.AddSeconds(10);
// Create a cache entry.
Cache["key1"] = "Value 1";
// Make key2 dependent on key1.
String[] dependencyKey = new String[1];
dependencyKey[0] = "key1";
CacheDependency dependency = new CacheDependency(null, dependencyKey, dt);
Cache.Insert("key2", "Value 2", dependency);
DisplayValues();
}
Public Sub CreateDependency(sender As Object, e As EventArgs)
' Create a DateTime object.
Dim dt as DateTime = DateTime.Now.AddSeconds(10)
' Create a cache entry.
Cache("key1") = "Value 1"
' Make key2 dependent on key1.
Dim dependencyKey(0) As String
dependencyKey(0) = "key1"
Dim dependency As new CacheDependency(Nothing, dependencyKey, dt)
Cache.Insert("key2", "Value 2", dependency)
DisplayValues()
End Sub
Комментарии
Кроме того, если любой из каталогов или файлов, указанных в параметре, не найден в filenames
файловой системе, он считается отсутствующим. Если в каталог или файл отсутствует при добавлении Cacheобъекта с зависимостью, кэшированный объект будет удален из Cache каталога или файла при создании этого каталога или файла.
Например, предположим, что вы добавляете объект в Cache объект с зависимостью от следующего пути к файлу: c:\stocks\xyz.dat. Если этот файл не найден при CacheDependency создании объекта, но создается позже, кэшированный объект удаляется при создании файла xyz.dat.
cachekeys
Однако зависимость работает не так же. Если хотя бы одно значение в cachekeys
параметре не существует во время вставки, вставка завершается ошибкой. Обратите внимание, что для этого сценария нет исключения.
Примечание
Отслеживание изменений начинается немедленно и не основано непосредственно на параметре start
. start
Используйте параметр для передачи даты и времени в прошлом, для которого требуется проверить дату последнего изменения любого объекта, переданного в filenames
параметре или cachekeys
параметрах. Если дата последнего изменения любого из этих объектов превышает дату и время, переданные в параметре start
, кэшированный элемент удаляется из Cache.
См. также раздел
Применяется к
CacheDependency(String[], String[], CacheDependency)
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу. Он также становится зависимым от отдельного экземпляра класса CacheDependency.
public:
CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, System::Web::Caching::CacheDependency ^ dependency);
public CacheDependency (string[] filenames, string[] cachekeys, System.Web.Caching.CacheDependency dependency);
new System.Web.Caching.CacheDependency : string[] * string[] * System.Web.Caching.CacheDependency -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), dependency As CacheDependency)
Параметры
- filenames
- String[]
Массив путей (к файлам или каталогам), от которого зависит кэшированный объект. При изменении любого из ресурсов кэшированный объект становится устаревшим и удаляется из кэша.
- cachekeys
- String[]
Массив ключей кэша, изменения которых отслеживает новый объект. При изменении любого из ключей кэша кэшированный объект, связанный с этой зависимостью, становится устаревшим и удаляется из кэша.
- dependency
- CacheDependency
Другой экземпляр класса CacheDependency, от которого зависит этот экземпляр.
Примеры
В следующем примере кода создается CreateDependency
метод. При вызове этого метода свойство используется Cache.Item[] для добавления элемента в кэш с параметром key
key1
и значением Value 1
. Затем создается массив строк dependencyKey
с таким же значением key1
. Конструктор CacheDependency.CacheDependency используется для создания CacheDependency объекта, dep1
который передается dependencyKey
в качестве аргумента параметра. Второй CacheDependency объект dep2
, создается с помощью этого конструктора, который dep1
передается в качестве третьего аргумента параметра. Эта вторая зависимость зависит от первой. Метод Cache.Insert вызывается далее, используя второй CacheDependency объект в качестве параметра. Если первое изменение зависимостей каким-либо образом изменится, кэшированный элемент будет недействительным.
public void CreateDependency(Object sender, EventArgs e) {
// Create a cache entry.
Cache["key1"] = "Value 1";
// Make key2 dependent on key1.
String[] dependencyKey = new String[1];
dependencyKey[0] = "key1";
CacheDependency dep1 = new CacheDependency(null, dependencyKey);
// Make a second CacheDependency dependent on dep1.
CacheDependency dep2 = new CacheDependency(null, null, dep1);
Cache.Insert("key2", "Value 2", dep2);
DisplayValues();
}
Public Sub CreateDependency(sender As [Object], e As EventArgs)
' Create a cache entry.
Cache("key1") = "Value 1"
' Make key2 dependent on key1 using double dependency.
Dim dependencyKey(0) As [String]
dependencyKey(0) = "key1"
Dim dep1 As New CacheDependency(Nothing, dependencyKey)
' Make a second CacheDependency dependent on dep1.
Dim dep2 As New CacheDependency(Nothing, Nothing, dep1)
Cache.Insert("key2", "Value 2", dep2)
DisplayValues()
End Sub 'CreateDependency
Комментарии
Кроме того, если любой из каталогов или файлов, указанных в параметре, не найден в filenames
файловой системе, он считается отсутствующим. Если в каталог или файл отсутствует при добавлении Cacheобъекта с зависимостью, кэшированный объект будет удален из Cache каталога или файла при создании этого каталога или файла.
Например, предположим, что вы добавляете объект в Cache объект с зависимостью от следующего пути к файлу: c:\stocks\xyz.dat. Если этот файл не найден при CacheDependency создании объекта, но создается позже, кэшированный объект удаляется при создании файла xyz.dat.
cachekeys
Однако зависимость работает не так же. Если хотя бы одно значение в cachekeys
параметре не существует во время вставки, вставка завершается ошибкой. Обратите внимание, что для этого сценария нет исключения.
Применяется к
CacheDependency(String[], String[], CacheDependency, DateTime)
Инициализирует новый экземпляр класса CacheDependency, отслеживающий изменения массива путей (к файлам или каталогам), массива ключей кэша, или обоих сразу. Он также становится зависимым от другого экземпляра класса CacheDependency и времени начала отслеживания изменений.
public:
CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, System::Web::Caching::CacheDependency ^ dependency, DateTime start);
public CacheDependency (string[] filenames, string[] cachekeys, System.Web.Caching.CacheDependency dependency, DateTime start);
new System.Web.Caching.CacheDependency : string[] * string[] * System.Web.Caching.CacheDependency * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), dependency As CacheDependency, start As DateTime)
Параметры
- filenames
- String[]
Массив путей (к файлам или каталогам), от которого зависит кэшированный объект. При изменении любого из ресурсов кэшированный объект становится устаревшим и удаляется из кэша.
- cachekeys
- String[]
Массив ключей кэша, изменения которых отслеживает новый объект. При изменении любого из ключей кэша кэшированный объект, связанный с этой зависимостью, становится устаревшим и удаляется из кэша.
- dependency
- CacheDependency
Другой экземпляр класса CacheDependency, от которого зависит этот экземпляр.
- start
- DateTime
Время, по которому проверяется дата последнего изменения объектов массивов и объекта CacheDependency.
Примеры
В следующем примере кода показан CreateDependency
метод. При вызове этого метода создается DateTime объект, а Cache.Item[] свойство используется для добавления элемента в кэш с ключевым параметром key1
и значением Value 1
. Затем массив строк dependencyKey
создается со значением в первом (и единственном) индексе, который также имеет значение key1
. Затем CacheDependency.CacheDependency конструктор используется для создания CacheDependency объекта, dep1
который передается dependencyKey
в качестве аргумента параметра. Затем создается второй CacheDependency объект dep2
с помощью этого конструктора, а dep1
DateTime объект передается в качестве аргументов параметров. Эта вторая зависимость зависит от первой, и мониторинг зависимостей начнется через 10 секунд после CreateDependency
вызова метода. Метод Cache.Insert вызывается далее, используя второй CacheDependency объект в качестве параметра. Если первое изменение зависимостей каким-либо образом изменится, кэшированный элемент будет недействительным.
public void CreateDependency(Object sender, EventArgs e) {
// Create a DateTime object.
DateTime dt = DateTime.Now.AddSeconds(10);
// Create a cache entry.
Cache["key1"] = "Value 1";
// Make key2 dependent on key1.
String[] dependencyKey = new String[1];
dependencyKey[0] = "key1";
CacheDependency dep1 = new CacheDependency(null, dependencyKey);
// Make a second CacheDependency dependent on dep1.
// and use dt to start change monitoring.
CacheDependency dep2 = new CacheDependency(null, null, dep1, dt);
Cache.Insert("key2", "Value 2", dep2);
DisplayValues();
}
Public Sub CreateDependency(sender As [Object], e As EventArgs)
' Create a DateTime object.
Dim dt as DateTime = DateTime.Now.AddSeconds(10)
' Create a cache entry.
Cache("key1") = "Value 1"
' Make key2 dependent on key1 using double dependency.
Dim dependencyKey(0) As [String]
dependencyKey(0) = "key1"
Dim dep1 As New CacheDependency(Nothing, dependencyKey)
' Make a second CacheDependency dependent on dep1
' and use dt to start change monitoring.
Dim dep2 As New CacheDependency(Nothing, Nothing, dep1, dt)
Cache.Insert("key2", "Value 2", dep2)
DisplayValues()
End Sub 'CreateDependency
Комментарии
Кроме того, если любой из каталогов или файлов, указанных в параметре, не найден в filenames
файловой системе, он считается отсутствующим. Если в каталог или файл отсутствует при добавлении Cacheобъекта с зависимостью, кэшированный объект будет удален из Cache каталога или файла при создании этого каталога или файла.
Например, предположим, что вы добавляете объект в Cache объект с зависимостью от следующего пути к файлу: c:\stocks\xyz.dat. Если этот файл не найден при CacheDependency создании объекта, но создается позже, кэшированный объект удаляется при создании файла xyz.dat.
cachekeys
Однако зависимость работает не так же. Если хотя бы одно значение в cachekeys
параметре не существует во время вставки, вставка завершается ошибкой. Обратите внимание, что для этого сценария нет исключения.
Примечание
Отслеживание изменений начинается немедленно и не основано непосредственно на параметре start
. start
Используйте параметр для передачи даты и времени в прошлом, для которого требуется проверить дату последнего изменения любого из объектов, переданных в filenames
параметре , cachekeys
или dependency
параметры. Если дата последнего изменения для любого из этих объектов превышает дату и время, переданные в параметре start
, кэшированный элемент удаляется из Cache.