Bagikan melalui


CacheDependency Konstruktor

Definisi

Menginisialisasi instans baru kelas CacheDependency.

Overload

CacheDependency()

Menginisialisasi instans baru kelas CacheDependency.

CacheDependency(String)

Menginisialisasi instans CacheDependency baru kelas yang memantau file atau direktori untuk perubahan.

CacheDependency(String[])

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori) untuk perubahan.

CacheDependency(String, DateTime)

Menginisialisasi instans CacheDependency baru kelas yang memantau file atau direktori untuk perubahan.

CacheDependency(String[], DateTime)

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori) untuk perubahan dan menentukan waktu saat pemantauan perubahan dimulai.

CacheDependency(String[], String[])

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori), array kunci cache, atau keduanya untuk perubahan.

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

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori), array kunci cache, atau keduanya untuk perubahan.

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

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori), array kunci cache, atau keduanya untuk perubahan. Ini juga membuat dirinya bergantung pada instans kelas yang CacheDependency terpisah.

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

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori), array kunci cache, atau keduanya untuk perubahan. Ini juga membuat dirinya bergantung pada instans lain dari CacheDependency kelas dan waktu ketika pemantauan perubahan dimulai.

CacheDependency()

Menginisialisasi instans baru kelas CacheDependency.

protected:
 CacheDependency();
protected CacheDependency ();
Protected Sub New ()

Contoh

Contoh kode berikut adalah kelas yang mengimplementasikan versi CacheDependency konstruktor ini karena semua kelas yang berasal diperlukan 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

Keterangan

Jika Anda ingin memperoleh kelas Anda sendiri dari CacheDependency, terapkan CacheDependency versi konstruktor ini.

Lihat juga

Berlaku untuk

CacheDependency(String)

Menginisialisasi instans CacheDependency baru kelas yang memantau file atau direktori untuk perubahan.

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)

Parameter

filename
String

Jalur ke file atau direktori tempat objek yang di-cache bergantung. Ketika sumber daya ini berubah, objek cache menjadi usang dan dihapus dari cache.

Contoh

Contoh kode berikut membuat instans CacheDependency kelas dengan dependensi pada file XML. Metode Cache.Insert kemudian menambahkan item ke yang bergantung pada file tersebut 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)

Anda juga dapat menggunakan teknik berikut untuk menambahkan item ke Cache dengan dependensi pada file.

// 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

Keterangan

Jika direktori atau file yang ditentukan dalam filename parameter tidak ditemukan dalam sistem file, direktori atau file akan diperlakukan sebagai hilang. Jika direktori atau file hilang ketika objek dengan dependensi ditambahkan ke Cache, objek yang di-cache akan dihapus dari Cache saat direktori atau file dibuat.

Misalnya, asumsikan bahwa Anda menambahkan objek ke Cache dengan dependensi pada jalur file berikut: c:\stocks\xyz.dat. Jika file tersebut tidak ditemukan saat CacheDependency objek dibuat, tetapi dibuat nanti, objek yang di-cache akan dihapus setelah pembuatan file xyz.dat.

Lihat juga

Berlaku untuk

CacheDependency(String[])

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori) untuk perubahan.

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())

Parameter

filenames
String[]

Array jalur (ke file atau direktori) yang bergantung pada objek yang di-cache. Ketika salah satu sumber daya ini berubah, objek cache menjadi usang dan dihapus dari cache.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Cache.Insert metode untuk menambahkan item ke Cache dengan dependensi pada array file. Anda juga dapat membuat item bergantung pada array direktori.

    // 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

Keterangan

Jika salah satu file atau direktori dalam array berubah atau dihapus dari array, item yang di-cache menjadi usang dan dihapus dari objek aplikasi Cache .

Selain itu, jika salah satu direktori atau file yang ditentukan dalam filenames parameter tidak ditemukan dalam sistem file, itu diperlakukan sebagai hilang. Jika direktori atau file hilang ketika objek dengan dependensi ditambahkan ke Cache, objek yang di-cache akan dihapus dari Cache saat direktori atau file tersebut dibuat.

Misalnya, asumsikan bahwa Anda menambahkan objek ke Cache dengan dependensi pada jalur file berikut: c:\stocks\xyz.dat. Jika file tersebut tidak ditemukan saat CacheDependency objek dibuat, tetapi dibuat nanti, objek yang di-cache akan dihapus setelah pembuatan file xyz.dat.

Catatan

Saat Anda membuat array yang berisi dependensi file, Anda harus menentukan jumlah file yang anda tambahkan ke Cache tergantung pada.

Lihat juga

Berlaku untuk

CacheDependency(String, DateTime)

Menginisialisasi instans CacheDependency baru kelas yang memantau file atau direktori untuk perubahan.

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)

Parameter

filename
String

Jalur ke file atau direktori tempat objek yang di-cache bergantung. Ketika sumber daya ini berubah, objek cache menjadi usang dan dihapus dari cache.

start
DateTime

Waktu untuk memeriksa tanggal terakhir yang dimodifikasi dari direktori atau file.

Contoh

Contoh kode berikut menggunakan konstruktor ini untuk membuat CacheDependency instans objek, lalu menyisipkan item ke dalam dengan dependensi tersebut Cache . Nilai dt yang start diteruskan dalam parameter diatur ke 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 

Keterangan

Jika direktori atau file yang ditentukan dalam filename parameter tidak ditemukan dalam sistem file, direktori atau file akan diperlakukan sebagai hilang. Jika direktori atau file hilang ketika objek dengan dependensi ditambahkan ke Cache, objek yang di-cache akan dihapus dari Cache saat direktori atau file dibuat.

Misalnya, asumsikan bahwa Anda menambahkan objek ke Cache dengan dependensi pada jalur file berikut: c:\stocks\xyz.dat. Jika file tersebut tidak ditemukan saat CacheDependency objek dibuat, tetapi dibuat nanti, objek yang di-cache akan dihapus setelah pembuatan file xyz.dat.

Catatan

Pelacakan perubahan segera dimulai dan tidak secara langsung berdasarkan start parameter . start Gunakan parameter untuk melewati tanggal dan waktu di masa lalu yang ingin Anda periksa tanggal terakhir yang diubah dari direktori atau file yang diteruskan dalam filename parameter . Jika tanggal terakhir yang dimodifikasi lebih lambat dari tanggal dan waktu yang ditetapkan yang diteruskan dalam start parameter, item yang di-cache akan dihapus dari Cache.

Lihat juga

Berlaku untuk

CacheDependency(String[], DateTime)

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori) untuk perubahan dan menentukan waktu saat pemantauan perubahan dimulai.

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)

Parameter

filenames
String[]

Array jalur (ke file atau direktori) yang bergantung pada objek yang di-cache. Ketika salah satu sumber daya ini berubah, objek cache menjadi usang dan dihapus dari cache.

start
DateTime

Waktu untuk memeriksa tanggal terakhir objek yang dimodifikasi dalam array.

Contoh

Contoh kode berikut membuat CacheDependency objek yang meneruskan dua file XML dan DateTime.Now nilai saat objek disertakan sebagai argumen parameter dalam Cache.Insert panggilan metode.

// 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

Keterangan

Jika salah satu direktori atau file yang ditentukan dalam filenames parameter tidak ditemukan dalam sistem file, itu diperlakukan sebagai hilang. Jika direktori atau file hilang ketika objek dengan dependensi ditambahkan ke Cache, objek yang di-cache akan dihapus dari Cache saat direktori atau file tersebut dibuat.

Misalnya, asumsikan bahwa Anda menambahkan objek ke Cache dengan dependensi pada jalur file berikut: c:\stocks\xyz.dat. Jika file tersebut tidak ditemukan saat CacheDependency objek dibuat, tetapi dibuat nanti, objek yang di-cache akan dihapus setelah pembuatan file xyz.dat.

Catatan

Pelacakan perubahan segera dimulai dan tidak secara langsung berdasarkan start parameter . start Gunakan parameter untuk melewati tanggal dan waktu di masa lalu yang ingin Anda periksa tanggal terakhir yang diubah dari array yang dilewatkan dalam filenames parameter . Jika tanggal terakhir yang dimodifikasi dari objek apa pun dalam array lebih lambat dari tanggal dan waktu yang ditetapkan yang diteruskan dalam start parameter, item yang di-cache akan dihapus dari Cache.

Lihat juga

Berlaku untuk

CacheDependency(String[], String[])

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori), array kunci cache, atau keduanya untuk perubahan.

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())

Parameter

filenames
String[]

Array jalur (ke file atau direktori) yang bergantung pada objek yang di-cache. Ketika salah satu sumber daya ini berubah, objek cache menjadi usang dan dihapus dari cache.

cachekeys
String[]

Array kunci cache yang dipantau objek baru untuk perubahan. Ketika salah satu kunci cache ini berubah, objek cache yang terkait dengan objek dependensi ini menjadi usang dan dihapus dari cache.

Contoh

Fragmen kode berikut menunjukkan cara menyisipkan item ke dalam aplikasi Cache Anda dengan dependensi pada kunci ke item lain yang ditempatkan di cache. Karena metode ini menggunakan sintaks array, Anda harus menentukan jumlah kunci tempat item yang Anda tambahkan ke Cache bergantung.

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

Keterangan

Selain itu, jika salah satu direktori atau file yang ditentukan dalam filenames parameter tidak ditemukan dalam sistem file, itu diperlakukan sebagai hilang. Jika direktori atau file hilang ketika objek dengan dependensi ditambahkan ke Cache, objek yang di-cache akan dihapus dari Cache saat direktori atau file tersebut dibuat.

Misalnya, asumsikan bahwa Anda menambahkan objek ke Cache dengan dependensi pada jalur file berikut: c:\stocks\xyz.dat. Jika file tersebut tidak ditemukan saat CacheDependency objek dibuat, tetapi dibuat nanti, objek yang di-cache akan dihapus setelah pembuatan file xyz.dat.

Namun, dependensi cachekeys tidak berfungsi dengan cara yang sama. Jika setidaknya satu nilai dalam cachekeys parameter tidak ada pada saat penyisipan, penyisipan gagal. Perhatikan bahwa tidak ada pengecualian yang dilemparkan untuk skenario ini.

Lihat juga

Berlaku untuk

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

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori), array kunci cache, atau keduanya untuk perubahan.

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)

Parameter

filenames
String[]

Array jalur (ke file atau direktori) yang bergantung pada objek yang di-cache. Ketika salah satu sumber daya ini berubah, objek cache menjadi usang dan dihapus dari cache.

cachekeys
String[]

Array kunci cache yang dipantau objek baru untuk perubahan. Ketika salah satu kunci cache ini berubah, objek cache yang terkait dengan objek dependensi ini menjadi usang dan dihapus dari cache.

start
DateTime

Tanggal dan waktu untuk memeriksa tanggal terakhir objek yang dimodifikasi yang diteruskan dalam filenames array dan cachekeys .

Contoh

Contoh kode berikut membuat CreateDependency metode . Ketika metode ini dipanggil, metode ini membuat DateTime objek dan Cache.Item[] properti digunakan untuk menambahkan item ke cache dengan key parameter key1 dan nilai Value 1. Array string, dependencyKey, kemudian dibuat dengan nilai key1 juga. Konstruktor ini CacheDependency kemudian membuat CacheDependency instans objek yang melewati dependencyKey dan DateTime objek sebagai argumen parameter. Metode Cache.Insert ini dipanggil berikutnya, menggunakan CacheDependency objek sebagai parameter. Ini membuat objek ditambahkan ke cache menggunakan Insert metode tergantung pada key1 kunci.

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

Keterangan

Selain itu, jika salah satu direktori atau file yang ditentukan dalam filenames parameter tidak ditemukan dalam sistem file, itu diperlakukan sebagai hilang. Jika direktori atau file hilang ketika objek dengan dependensi ditambahkan ke Cache, objek yang di-cache akan dihapus dari Cache saat direktori atau file tersebut dibuat.

Misalnya, asumsikan bahwa Anda menambahkan objek ke Cache dengan dependensi pada jalur file berikut: c:\stocks\xyz.dat. Jika file tersebut tidak ditemukan saat CacheDependency objek dibuat, tetapi dibuat nanti, objek yang di-cache akan dihapus setelah pembuatan file xyz.dat.

Namun, dependensi cachekeys tidak berfungsi dengan cara yang sama. Jika setidaknya satu nilai dalam cachekeys parameter tidak ada pada saat penyisipan, sisipan gagal. Perhatikan bahwa tidak ada pengecualian yang dilemparkan untuk skenario ini.

Catatan

Pelacakan perubahan segera dimulai dan tidak secara langsung berdasarkan start parameter . start Gunakan parameter untuk meneruskan tanggal dan waktu di masa lalu di mana Anda ingin memeriksa tanggal terakhir yang dimodifikasi dari objek apa pun yang diteruskan dalam filenames parameter atau cachekeys . Jika tanggal terakhir yang dimodifikasi dari salah satu objek tersebut lebih lambat dari tanggal dan waktu yang ditetapkan yang dilewatkan dalam start parameter, item yang di-cache akan dihapus dari Cache.

Lihat juga

Berlaku untuk

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

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori), array kunci cache, atau keduanya untuk perubahan. Ini juga membuat dirinya bergantung pada instans kelas yang CacheDependency terpisah.

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)

Parameter

filenames
String[]

Array jalur (ke file atau direktori) yang bergantung pada objek yang di-cache. Ketika salah satu sumber daya ini berubah, objek cache menjadi usang dan dihapus dari cache.

cachekeys
String[]

Array kunci cache yang dipantau objek baru untuk perubahan. Ketika salah satu kunci cache ini berubah, objek cache yang terkait dengan objek dependensi ini menjadi usang dan dihapus dari cache.

dependency
CacheDependency

Instans lain dari CacheDependency kelas yang bergantung pada instans ini.

Contoh

Contoh kode berikut membuat CreateDependency metode. Ketika metode ini dipanggil, metode ini menggunakan Cache.Item[] properti untuk menambahkan item ke cache dengan key parameter key1 dan nilai Value 1. Array string, dependencyKey, kemudian dibuat dengan nilai key1 juga. CacheDependency.CacheDependency Konstruktor digunakan untuk membuat CacheDependency objek, dep1, yang diteruskan dependencyKey sebagai argumen parameter. Objek kedua CacheDependency , dep2, dibuat menggunakan konstruktor ini, dengan dep1 diteruskan sebagai argumen parameter ketiga. Dependensi kedua ini tergantung pada yang pertama. Metode Cache.Insert ini dipanggil berikutnya, menggunakan objek kedua CacheDependency sebagai parameter. Jika dependensi pertama berubah dengan cara apa pun, item yang di-cache akan dibatalkan.

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

Keterangan

Selain itu, jika salah satu direktori atau file yang ditentukan dalam filenames parameter tidak ditemukan dalam sistem file, itu diperlakukan sebagai hilang. Jika direktori atau file hilang ketika objek dengan dependensi ditambahkan ke Cache, objek yang di-cache akan dihapus dari Cache saat direktori atau file tersebut dibuat.

Misalnya, asumsikan bahwa Anda menambahkan objek ke Cache dengan dependensi pada jalur file berikut: c:\stocks\xyz.dat. Jika file tersebut tidak ditemukan saat CacheDependency objek dibuat, tetapi dibuat nanti, objek yang di-cache akan dihapus setelah pembuatan file xyz.dat.

Namun, dependensi cachekeys tidak berfungsi dengan cara yang sama. Jika setidaknya satu nilai dalam cachekeys parameter tidak ada pada saat penyisipan, sisipan gagal. Perhatikan bahwa tidak ada pengecualian yang dilemparkan untuk skenario ini.

Berlaku untuk

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

Menginisialisasi instans CacheDependency baru kelas yang memantau array jalur (ke file atau direktori), array kunci cache, atau keduanya untuk perubahan. Ini juga membuat dirinya tergantung pada instans lain dari CacheDependency kelas dan waktu ketika pemantauan perubahan dimulai.

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)

Parameter

filenames
String[]

Array jalur (ke file atau direktori) yang bergantung pada objek yang di-cache. Ketika salah satu sumber daya ini berubah, objek cache menjadi usang dan dihapus dari cache.

cachekeys
String[]

Array kunci cache yang dipantau objek baru untuk perubahan. Ketika salah satu kunci cache ini berubah, objek cache yang terkait dengan objek dependensi ini menjadi usang dan dihapus dari cache.

dependency
CacheDependency

Instans lain dari CacheDependency kelas yang bergantung pada instans ini.

start
DateTime

Waktu untuk memeriksa tanggal terakhir objek yang dimodifikasi dalam array dan CacheDependency objek.

Contoh

Contoh kode berikut menunjukkan CreateDependency metode . Ketika metode ini dipanggil, metode ini membuat DateTime objek dan Cache.Item[] properti digunakan untuk menambahkan item ke cache dengan parameter key1 kunci dan nilai Value 1. Array string, dependencyKey, kemudian dibuat dengan nilai pada indeks pertamanya (dan hanya) yang diatur ke nilai key1 juga. CacheDependency.CacheDependency Konstruktor kemudian digunakan untuk membuat CacheDependency objek, dep1, yang diteruskan dependencyKey sebagai argumen parameter. Objek kedua CacheDependency , dep2, kemudian dibuat menggunakan konstruktor ini, dengan dep1 dan objek diteruskan DateTime sebagai argumen parameter. Dependensi kedua ini tergantung pada pemantauan pertama, dan dependensi akan dimulai 10 detik setelah CreateDependency metode dipanggil. Metode Cache.Insert ini dipanggil berikutnya, menggunakan objek kedua CacheDependency sebagai parameter. Jika dependensi pertama berubah dengan cara apa pun, item yang di-cache akan dibatalkan.

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

Keterangan

Selain itu, jika salah satu direktori atau file yang ditentukan dalam filenames parameter tidak ditemukan dalam sistem file, itu diperlakukan sebagai hilang. Jika direktori atau file hilang ketika objek dengan dependensi ditambahkan ke Cache, objek yang di-cache akan dihapus dari Cache saat direktori atau file tersebut dibuat.

Misalnya, asumsikan bahwa Anda menambahkan objek ke Cache dengan dependensi pada jalur file berikut: c:\stocks\xyz.dat. Jika file tersebut tidak ditemukan saat CacheDependency objek dibuat, tetapi dibuat nanti, objek yang di-cache akan dihapus setelah pembuatan file xyz.dat.

Namun, dependensi cachekeys tidak berfungsi dengan cara yang sama. Jika setidaknya satu nilai dalam cachekeys parameter tidak ada pada saat penyisipan, sisipan gagal. Perhatikan bahwa tidak ada pengecualian yang dilemparkan untuk skenario ini.

Catatan

Pelacakan perubahan segera dimulai dan tidak secara langsung berdasarkan start parameter . start Gunakan parameter untuk meneruskan tanggal dan waktu di masa lalu di mana Anda ingin memeriksa tanggal terakhir yang dimodifikasi dari salah satu objek yang diteruskan dalam filenamesparameter , cachekeys, atau dependency . Jika tanggal terakhir yang dimodifikasi untuk salah satu objek tersebut lebih lambat dari tanggal dan waktu yang dilewatkan dalam start parameter, item yang di-cache akan dihapus dari Cache.

Lihat juga

Berlaku untuk