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.

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

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