CacheDependency Konstruktor
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 filenames
parameter , 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.