Бөлісу құралы:


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[] свойство используется для добавления элемента в кэш с параметром keykey1 и значением 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[] свойство для добавления элемента в кэш с параметром keykey1 и значением 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.

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

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