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 вызывается next, используя второй 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 объект , с dep1
и объектом, переданным DateTime в качестве dep2
аргументов параметра. Эта вторая зависимость зависит от первой, и мониторинг зависимостей начнется через 10 секунд после CreateDependency
вызова метода. Метод Cache.Insert вызывается next, используя второй 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.