CacheDependency Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
CacheDependency sınıfının yeni bir örneğini başlatır.
Aşırı Yüklemeler
CacheDependency() |
CacheDependency sınıfının yeni bir örneğini başlatır. |
CacheDependency(String) |
Değişiklik için bir dosya veya dizin izleyen sınıfının yeni bir örneğini CacheDependency başlatır. |
CacheDependency(String[]) |
Değişiklikler için bir yol dizisini CacheDependency (dosyalara veya dizinlere) izleyen sınıfının yeni bir örneğini başlatır. |
CacheDependency(String, DateTime) |
Değişiklik için bir dosya veya dizin izleyen sınıfının yeni bir örneğini CacheDependency başlatır. |
CacheDependency(String[], DateTime) |
Değişiklikler için bir yol dizisini (dosyalara veya dizinlere) izleyen sınıfının yeni bir örneğini CacheDependency başlatır ve değişiklik izlemenin ne zaman başladığını belirtir. |
CacheDependency(String[], String[]) |
Bir yol dizisini CacheDependency (dosyalara veya dizinlere), önbellek anahtarları dizisini veya her ikisini de değişiklikler için izleyen sınıfının yeni bir örneğini başlatır. |
CacheDependency(String[], String[], DateTime) |
Bir yol dizisini CacheDependency (dosyalara veya dizinlere), önbellek anahtarları dizisini veya her ikisini de değişiklikler için izleyen sınıfının yeni bir örneğini başlatır. |
CacheDependency(String[], String[], CacheDependency) |
Bir yol dizisini CacheDependency (dosyalara veya dizinlere), önbellek anahtarları dizisini veya her ikisini de değişiklikler için izleyen sınıfının yeni bir örneğini başlatır. Ayrıca kendisini sınıfın ayrı bir örneğine CacheDependency bağımlı hale getirir. |
CacheDependency(String[], String[], CacheDependency, DateTime) |
Bir yol dizisini CacheDependency (dosyalara veya dizinlere), önbellek anahtarları dizisini veya her ikisini de değişiklikler için izleyen sınıfının yeni bir örneğini başlatır. Ayrıca, kendisini sınıfın başka bir örneğine ve değişiklik izlemenin CacheDependency başladığı zamana bağımlı hale getirir. |
CacheDependency()
CacheDependency sınıfının yeni bir örneğini başlatır.
protected:
CacheDependency();
protected CacheDependency ();
Protected Sub New ()
Örnekler
Aşağıdaki kod örneği, öğesinden CacheDependency türetilen tüm sınıfların gerekli olduğu için oluşturucunun CacheDependency bu sürümünü uygulayan bir sınıftır.
' 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
Açıklamalar
öğesinden CacheDependencykendi sınıfınızı türetmek istiyorsanız oluşturucunun CacheDependency bu sürümünü uygulayın.
Ayrıca bkz.
Şunlara uygulanır
CacheDependency(String)
Değişiklik için bir dosya veya dizin izleyen sınıfının yeni bir örneğini CacheDependency başlatır.
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)
Parametreler
- filename
- String
Önbelleğe alınan nesnenin bağımlı olduğu bir dosya veya dizinin yolu. Bu kaynak değiştiğinde, önbelleğe alınan nesne eskir ve önbellekten kaldırılır.
Örnekler
Aşağıdaki kod örneği, BIR XML dosyasına bağımlılığı olan sınıfının bir örneğini CacheDependency oluşturur. Yöntemi Cache.Insert daha sonra dosyasına bu dosyaya Cache bağımlı olan bir öğe ekler.
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)
Bir dosyaya bağımlılığı olan öğesine öğe eklemek için Cache aşağıdaki tekniği de kullanabilirsiniz.
// 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
Açıklamalar
parametresinde filename
belirtilen dizin veya dosya dosya sisteminde bulunamazsa eksik olarak değerlendirilir. bağımlılığına sahip nesne öğesine eklendiğinde Cachedizin veya dosya eksikse, dizin veya dosya oluşturulduğunda önbelleğe alınan nesne öğesinden Cache kaldırılır.
Örneğin, öğesine şu dosya yoluna bağımlılığı olan bir nesne Cache eklediğinizi varsayalım: c:\stocks\xyz.dat. Nesne oluşturulduğunda bu dosya bulunamazsa CacheDependency , ancak daha sonra oluşturulursa, önbelleğe alınan nesne xyz.dat dosyası oluşturulduktan sonra kaldırılır.
Ayrıca bkz.
Şunlara uygulanır
CacheDependency(String[])
Değişiklikler için bir yol dizisini CacheDependency (dosyalara veya dizinlere) izleyen sınıfının yeni bir örneğini başlatır.
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())
Parametreler
- filenames
- String[]
Önbelleğe alınan nesnenin bağımlı olduğu bir yol dizisi (dosyalara veya dizinlere). Bu kaynaklardan herhangi biri değiştiğinde, önbelleğe alınan nesne eskir ve önbellekten kaldırılır.
Örnekler
Aşağıdaki kod örneği, bir dosya dizisine bağımlılıkları olan öğesine öğe eklemek için Cache yönteminin nasıl kullanılacağını Cache.Insert gösterir. Ayrıca, öğeyi bir dizin dizisine bağımlı hale getirebilirsiniz.
// 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
Açıklamalar
Dizideki dosya veya dizinlerden herhangi biri değişirse veya diziden kaldırılırsa, önbelleğe alınan öğe eskir ve uygulamanın Cache nesnesinden kaldırılır.
Ayrıca, parametresinde filenames
belirtilen dizinlerden veya dosyalardan herhangi biri dosya sisteminde bulunamazsa, eksik olarak değerlendirilir. bağımlılığı olan nesne öğesine eklendiğinde Cachebir dizin veya dosya eksikse, önbelleğe alınan nesne o dizin veya dosya oluşturulduğunda öğesinden Cache kaldırılır.
Örneğin, öğesine şu dosya yoluna bağımlılığı olan bir nesne Cache eklediğinizi varsayalım: c:\stocks\xyz.dat. Nesne oluşturulduğunda bu dosya bulunamazsa CacheDependency , ancak daha sonra oluşturulursa, önbelleğe alınan nesne xyz.dat dosyası oluşturulduktan sonra kaldırılır.
Not
Dosya bağımlılıklarını içeren diziyi oluşturduğunuzda, öğesine eklediğiniz Cache öğenin bağımlı olduğu dosya sayısını tanımlamanız gerekir.
Ayrıca bkz.
Şunlara uygulanır
CacheDependency(String, DateTime)
Değişiklik için bir dosya veya dizin izleyen sınıfının yeni bir örneğini CacheDependency başlatır.
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)
Parametreler
- filename
- String
Önbelleğe alınan nesnenin bağımlı olduğu bir dosya veya dizinin yolu. Bu kaynak değiştiğinde, önbelleğe alınan nesne eskir ve önbellekten kaldırılır.
- start
- DateTime
Dizinin veya dosyanın son değiştirme tarihinin denetlendiği saat.
Örnekler
Aşağıdaki kod örneği, bir CacheDependency nesnenin örneğini oluşturmak için bu oluşturucuyu kullanır ve sonra bu bağımlılıkla öğesine bir öğe Cache ekler.
dt
parametresinde start
geçirilen değer olarak DateTime.Nowayarlanır.
// 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
Açıklamalar
parametresinde filename
belirtilen dizin veya dosya dosya sisteminde bulunamazsa eksik olarak değerlendirilir. bağımlılığına sahip nesne öğesine eklendiğinde Cachedizin veya dosya eksikse, dizin veya dosya oluşturulduğunda önbelleğe alınan nesne öğesinden Cache kaldırılır.
Örneğin, öğesine şu dosya yoluna bağımlılığı olan bir nesne Cache eklediğinizi varsayalım: c:\stocks\xyz.dat. Nesne oluşturulduğunda bu dosya bulunamazsa CacheDependency , ancak daha sonra oluşturulursa, önbelleğe alınan nesne xyz.dat dosyası oluşturulduktan sonra kaldırılır.
Not
Değişiklik izleme hemen başlar ve doğrudan parametresine start
dayalı değildir. Parametresinde start
geçirilen dizinin veya dosyanın son değiştirme tarihini denetlemek istediğiniz, geçmişteki bir tarih ve saati geçirmek için parametresini filename
kullanın. Son değiştirme tarihi parametresinde geçirilen tarih ve saat değerinden start
sonraysa, önbelleğe alınan öğe öğesinden Cachekaldırılır.
Ayrıca bkz.
Şunlara uygulanır
CacheDependency(String[], DateTime)
Değişiklikler için bir yol dizisini (dosyalara veya dizinlere) izleyen sınıfının yeni bir örneğini CacheDependency başlatır ve değişiklik izlemenin ne zaman başladığını belirtir.
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)
Parametreler
- filenames
- String[]
Önbelleğe alınan nesnenin bağımlı olduğu bir yol dizisi (dosyalara veya dizinlere). Bu kaynaklardan herhangi biri değiştiğinde, önbelleğe alınan nesne eskir ve önbellekten kaldırılır.
- start
- DateTime
Dizideki nesnelerin son değiştirilme tarihinin denetlendiği saat.
Örnekler
Aşağıdaki kod örneği, nesne bir CacheDependency yöntem çağrısına parametre bağımsız değişkeni olarak eklendiğinde iki XML dosyası ve bir DateTime.Now değer geçiren bir Cache.Insert nesne oluşturur.
// 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
Açıklamalar
parametresinde filenames
belirtilen dizinlerden veya dosyalardan herhangi biri dosya sisteminde bulunamazsa, eksik olarak değerlendirilir. bağımlılığı olan nesne öğesine eklendiğinde Cachebir dizin veya dosya eksikse, önbelleğe alınan nesne o dizin veya dosya oluşturulduğunda öğesinden Cache kaldırılır.
Örneğin, öğesine şu dosya yoluna bağımlılığı olan bir nesne Cache eklediğinizi varsayalım: c:\stocks\xyz.dat. Nesne oluşturulduğunda bu dosya bulunamazsa CacheDependency , ancak daha sonra oluşturulursa, önbelleğe alınan nesne xyz.dat dosyası oluşturulduktan sonra kaldırılır.
Not
Değişiklik izleme hemen başlar ve doğrudan parametresine start
dayalı değildir. parametresinde start
geçirilen dizinin son değiştirme tarihini denetlemek istediğiniz geçmiş bir tarih ve saati geçirmek için parametresini filenames
kullanın. Dizideki herhangi bir nesnenin son değiştirilme tarihi parametresinde geçirilen start
tarih ve saatten sonraysa, önbelleğe alınan öğe öğesinden Cachekaldırılır.
Ayrıca bkz.
Şunlara uygulanır
CacheDependency(String[], String[])
Bir yol dizisini CacheDependency (dosyalara veya dizinlere), önbellek anahtarları dizisini veya her ikisini de değişiklikler için izleyen sınıfının yeni bir örneğini başlatır.
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())
Parametreler
- filenames
- String[]
Önbelleğe alınan nesnenin bağımlı olduğu bir yol dizisi (dosyalara veya dizinlere). Bu kaynaklardan herhangi biri değiştiğinde, önbelleğe alınan nesne eskir ve önbellekten kaldırılır.
- cachekeys
- String[]
Yeni nesnenin değişiklikleri izlediği önbellek anahtarları dizisi. Bu önbellek anahtarlarından herhangi biri değiştiğinde, bu bağımlılık nesnesiyle ilişkili önbelleğe alınmış nesne eskir ve önbellekten kaldırılır.
Örnekler
Aşağıdaki kod parçası, önbelleğe yerleştirilen başka bir öğeye anahtar bağımlılığı olan bir öğenin uygulamanıza Cache nasıl ekleyebileceğinizi gösterir. Bu yöntem dizi söz dizimini kullandığından, öğesine eklediğiniz Cache öğenin bağımlı olduğu anahtar sayısını tanımlamanız gerekir.
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
Açıklamalar
Ayrıca, parametresinde filenames
belirtilen dizinlerden veya dosyalardan herhangi biri dosya sisteminde bulunamazsa, eksik olarak değerlendirilir. bağımlılığı olan nesne öğesine eklendiğinde Cachebir dizin veya dosya eksikse, önbelleğe alınan nesne o dizin veya dosya oluşturulduğunda öğesinden Cache kaldırılır.
Örneğin, öğesine şu dosya yoluna bağımlılığı olan bir nesne Cache eklediğinizi varsayalım: c:\stocks\xyz.dat. Nesne oluşturulduğunda bu dosya bulunamazsa CacheDependency , ancak daha sonra oluşturulursa, önbelleğe alınan nesne xyz.dat dosyası oluşturulduktan sonra kaldırılır.
Ancak, cachekeys
bağımlılık aynı şekilde çalışmaz. Ekleme sırasında parametrede cachekeys
en az bir değer yoksa, ekleme başarısız olur. Bu senaryo için özel durum olmadığını unutmayın.
Ayrıca bkz.
Şunlara uygulanır
CacheDependency(String[], String[], DateTime)
Bir yol dizisini CacheDependency (dosyalara veya dizinlere), önbellek anahtarları dizisini veya her ikisini de değişiklikler için izleyen yeni bir sınıf örneğini başlatır.
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)
Parametreler
- filenames
- String[]
Önbelleğe alınan nesnenin bağımlı olduğu bir yol dizisi (dosyalara veya dizinlere). Bu kaynaklardan herhangi biri değiştiğinde, önbelleğe alınan nesne eskir ve önbellekten kaldırılır.
- cachekeys
- String[]
Yeni nesnenin değişiklikleri izlediği önbellek anahtarları dizisi. Bu önbellek anahtarlarından herhangi biri değiştiğinde, bu bağımlılık nesnesiyle ilişkili önbelleğe alınmış nesne eskir ve önbellekten kaldırılır.
- start
- DateTime
ve dizilerinde filenames
geçirilen nesnelerin son değiştirme tarihinin denetlendiği tarih ve cachekeys
saat.
Örnekler
Aşağıdaki kod örneği bir CreateDependency
yöntem oluşturur. Bu yöntem çağrıldığında bir DateTime nesnesi oluşturur ve Cache.Item[] özelliği, parametresi key1
ve değeriyle Value 1
önbelleğe bir key
öğe eklemek için kullanılır. Dize dizisi, dependencyKey
daha sonra değeriyle key1
de oluşturulur. Bu CacheDependency oluşturucu daha sonra parametre bağımsız değişkenleri olarak geçen dependencyKey
bir CacheDependency nesneyi ve nesnesinin örneğini DateTime oluşturur.
Cache.Insert yöntemi, nesnesini parametre olarak kullanarak sonrakine çağrılırCacheDependency. Bu, yöntemini kullanarak Insert önbelleğe eklenen nesneyi anahtara key1
bağımlı hale getirir.
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
Açıklamalar
Ayrıca, parametresinde filenames
belirtilen dizinlerden veya dosyalardan herhangi biri dosya sisteminde bulunamazsa, eksik olarak kabul edilir. öğesine bağımlılığı olan nesne eklendiğinde Cachebir dizin veya dosya eksikse, önbelleğe alınan nesne, bu dizin veya dosya oluşturulduğunda öğesinden Cache kaldırılır.
Örneğin, öğesine şu dosya yolunda bağımlılık içeren bir nesne Cache eklediğinizi varsayalım: c:\stocks\xyz.dat. Nesne oluşturulduğunda bu dosya bulunamazsa CacheDependency ancak daha sonra oluşturulursa, önbelleğe alınan nesne xyz.dat dosyası oluşturulduktan sonra kaldırılır.
Ancak bağımlılık cachekeys
aynı şekilde çalışmaz. Ekleme sırasında parametrede cachekeys
en az bir değer yoksa, ekleme başarısız olur. Bu senaryo için özel durum olmadığını unutmayın.
Not
Değişiklik izleme hemen başlar ve doğrudan parametresine start
dayalı değildir. veya cachekeys
parametrelerinde start
geçirilen herhangi bir nesnenin son değiştirme tarihini denetlemek istediğiniz geçmiş bir tarih ve saati geçirmek için parametresini filenames
kullanın. Bu nesnelerden herhangi birinin son değiştirme tarihi parametresinde start
geçirilen tarih ve saatten sonraysa, önbelleğe alınan öğe öğesinden Cachekaldırılır.
Ayrıca bkz.
Şunlara uygulanır
CacheDependency(String[], String[], CacheDependency)
Bir yol dizisini CacheDependency (dosyalara veya dizinlere), önbellek anahtarları dizisini veya her ikisini de değişiklikler için izleyen yeni bir sınıf örneğini başlatır. Ayrıca kendisini sınıfın CacheDependency ayrı bir örneğine bağımlı hale getirir.
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)
Parametreler
- filenames
- String[]
Önbelleğe alınan nesnenin bağımlı olduğu bir yol dizisi (dosyalara veya dizinlere). Bu kaynaklardan herhangi biri değiştiğinde, önbelleğe alınan nesne eskir ve önbellekten kaldırılır.
- cachekeys
- String[]
Yeni nesnenin değişiklikleri izlediği önbellek anahtarları dizisi. Bu önbellek anahtarlarından herhangi biri değiştiğinde, bu bağımlılık nesnesiyle ilişkili önbelleğe alınmış nesne eskir ve önbellekten kaldırılır.
- dependency
- CacheDependency
Bu örneğin bağımlı olduğu sınıfın başka bir örneği CacheDependency .
Örnekler
Aşağıdaki kod örneği bir CreateDependency
yöntem oluşturur. Bu yöntem çağrıldığında, parametresi ve değeriyle Value 1
önbelleğe bir key1
key
öğe eklemek için özelliğini kullanırCache.Item[]. Dize dizisi, dependencyKey
daha sonra değeriyle key1
de oluşturulur.
CacheDependency.CacheDependency Oluşturucu, dep1
parametre bağımsız değişkeni olarak geçen dependencyKey
bir CacheDependency nesnesi oluşturmak için kullanılır. İkinci CacheDependency bir nesne olan , dep2
üçüncü parametre bağımsız değişkeni olarak geçirilen bu oluşturucu dep1
kullanılarak oluşturulur. Bu ikinci bağımlılık birinciye bağımlıdır. yöntemi Cache.Insert , ikinci CacheDependency nesne parametre olarak kullanılarak sonraki olarak çağrılır. İlk bağımlılık herhangi bir şekilde değişirse, önbelleğe alınan öğe geçersiz kılınır.
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
Açıklamalar
Ayrıca, parametresinde filenames
belirtilen dizinlerden veya dosyalardan herhangi biri dosya sisteminde bulunamazsa, eksik olarak kabul edilir. öğesine bağımlılığı olan nesne eklendiğinde Cachebir dizin veya dosya eksikse, önbelleğe alınan nesne, bu dizin veya dosya oluşturulduğunda öğesinden Cache kaldırılır.
Örneğin, öğesine şu dosya yolunda bağımlılık içeren bir nesne Cache eklediğinizi varsayalım: c:\stocks\xyz.dat. Nesne oluşturulduğunda bu dosya bulunamazsa CacheDependency ancak daha sonra oluşturulursa, önbelleğe alınan nesne xyz.dat dosyası oluşturulduktan sonra kaldırılır.
Ancak bağımlılık cachekeys
aynı şekilde çalışmaz. Ekleme sırasında parametrede cachekeys
en az bir değer yoksa, ekleme başarısız olur. Bu senaryo için özel durum olmadığını unutmayın.
Şunlara uygulanır
CacheDependency(String[], String[], CacheDependency, DateTime)
Bir yol dizisini CacheDependency (dosyalara veya dizinlere), önbellek anahtarları dizisini veya her ikisini de değişiklikler için izleyen yeni bir sınıf örneğini başlatır. Ayrıca kendisini sınıfın başka bir örneğine ve değişiklik izlemesinin CacheDependency başladığı zamana bağımlı hale getirir.
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)
Parametreler
- filenames
- String[]
Önbelleğe alınan nesnenin bağımlı olduğu bir yol dizisi (dosyalara veya dizinlere). Bu kaynaklardan herhangi biri değiştiğinde, önbelleğe alınan nesne eskir ve önbellekten kaldırılır.
- cachekeys
- String[]
Yeni nesnenin değişiklikleri izlediği önbellek anahtarları dizisi. Bu önbellek anahtarlarından herhangi biri değiştiğinde, bu bağımlılık nesnesiyle ilişkili önbelleğe alınmış nesne eskir ve önbellekten kaldırılır.
- dependency
- CacheDependency
Bu örneğin bağımlı olduğu sınıfın başka bir örneği CacheDependency .
- start
- DateTime
Dizilerdeki ve nesnedeki nesnelerin son değiştirme tarihinin denetlendiği CacheDependency saat.
Örnekler
Aşağıdaki kod örneğinde bir CreateDependency
yöntem gösterilmektedir. Bu yöntem çağrıldığında bir DateTime nesnesi oluşturur ve Cache.Item[] özelliği, bir anahtar parametresi key1
ve değeriyle Value 1
önbelleğe bir öğe eklemek için kullanılır. Dize dizisi, dependencyKey
daha sonra ilk (ve yalnızca) dizinindeki değeri de değerine key1
ayarlanmış şekilde oluşturulur. Oluşturucu CacheDependency.CacheDependency daha sonra parametre bağımsız değişkeni olarak geçen dependencyKey
bir CacheDependency nesnesi dep1
oluşturmak için kullanılır. Daha sonra bu oluşturucu kullanılarak ve DateTime parametresi bağımsız değişkenleri olarak geçirilen nesnesi kullanılarak dep1
ikinci CacheDependencydep2
bir nesnesi oluşturulur. Bu ikinci bağımlılık ilk bağımlıdır ve bağımlılık izleme yöntemi çağrıldıktan 10 saniye sonra CreateDependency
başlar. yöntemi Cache.Insert , ikinci CacheDependency nesne parametre olarak kullanılarak sonraki olarak çağrılır. İlk bağımlılık herhangi bir şekilde değişirse, önbelleğe alınan öğe geçersiz kılınır.
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
Açıklamalar
Ayrıca, parametresinde filenames
belirtilen dizinlerden veya dosyalardan herhangi biri dosya sisteminde bulunamazsa, eksik olarak kabul edilir. öğesine bağımlılığı olan nesne eklendiğinde Cachebir dizin veya dosya eksikse, önbelleğe alınan nesne, bu dizin veya dosya oluşturulduğunda öğesinden Cache kaldırılır.
Örneğin, öğesine şu dosya yolunda bağımlılık içeren bir nesne Cache eklediğinizi varsayalım: c:\stocks\xyz.dat. Nesne oluşturulduğunda bu dosya bulunamazsa CacheDependency ancak daha sonra oluşturulursa, önbelleğe alınan nesne xyz.dat dosyası oluşturulduktan sonra kaldırılır.
Ancak bağımlılık cachekeys
aynı şekilde çalışmaz. Ekleme sırasında parametrede cachekeys
en az bir değer yoksa, ekleme başarısız olur. Bu senaryo için özel durum olmadığını unutmayın.
Not
Değişiklik izleme hemen başlar ve doğrudan parametresine start
dayalı değildir. parametresini start
kullanarak, , veya dependency
parametrelerinde geçirilen filenames
cachekeys
nesnelerden herhangi birinin son değiştirme tarihini denetlemek istediğiniz, geçmişteki bir tarih ve saati geçirin. Bu nesnelerden herhangi birinin son değiştirme tarihi parametresinde start
geçirilen tarih ve saatten sonraysa, önbelleğe alınan öğe öğesinden Cachekaldırılır.