CacheDependency Oluşturucular

Tanım

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şiklikler için bir dosya veya dizini 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şiklikler için bir dosya veya dizini 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 yeni bir sınıf ö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 yeni bir sınıf ö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 yeni bir sınıf ö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 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.

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.

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, oluşturucunun CacheDependency bu sürümünü türetilen CacheDependency tüm sınıfların gerekli olduğu şekilde 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

kendi sınıfınızı öğesinden CacheDependencytüretmek istiyorsanız, oluşturucunun CacheDependency bu sürümünü uygulayın.

Ayrıca bkz.

Şunlara uygulanır

CacheDependency(String)

Değişiklikler için bir dosya veya dizini 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, xml dosyasına bağımlılığı olan bir sınıf örneği CacheDependency oluşturur. Yöntemi daha Cache.Insert 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)

Dosyasına bir dosya bağımlılığı olan bir öğ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 kabul edilir. bağımlılığı olan 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 yolunda bağımlılık içeren bir nesne Cache eklediğinizi varsayalım: c:\stocks\xyz.dat. Nesne oluşturulduğunda bu dosya bulunamaz CacheDependency ancak daha sonra oluşturulursa, xyz.dat dosyası oluşturulduktan sonra önbelleğe alınan nesne 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 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 bulunamaz CacheDependency ancak daha sonra oluşturulursa, xyz.dat dosyası oluşturulduktan sonra önbelleğe alınan nesne 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şiklikler için bir dosya veya dizini 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 ardından 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 kabul edilir. bağımlılığı olan 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 yolunda bağımlılık içeren bir nesne Cache eklediğinizi varsayalım: c:\stocks\xyz.dat. Nesne oluşturulduğunda bu dosya bulunamaz CacheDependency ancak daha sonra oluşturulursa, xyz.dat dosyası oluşturulduktan sonra önbelleğe alınan nesne 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ş bir tarih ve saati geçirmek için parametresini filename kullanın. Son değiştirme tarihi parametresinde start geçirilen tarih ve saat kümesinden 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 yeni bir sınıf ö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ştirme tarihinin denetlendiği saat.

Örnekler

Aşağıdaki kod örneği, bir CacheDependency yöntem çağrısına parametre bağımsız değişkeni olarak eklendiğinde iki XML dosyası ve değer DateTime.Now 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 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 bulunamaz CacheDependency ancak daha sonra oluşturulursa, xyz.dat dosyası oluşturulduktan sonra önbelleğe alınan nesne 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ş tarih ve saati geçirmek için parametresini filenames kullanın. Dizideki herhangi bir nesnenin son değiştirme tarihi, parametresinde start geçirilen tarih ve saat kümesinden 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 yeni bir sınıf ö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ığıyla uygulamanızın Cache öğelerine nasıl öğe 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 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 bulunamaz CacheDependency ancak daha sonra oluşturulursa, xyz.dat dosyası oluşturulduktan sonra önbelleğe alınan nesne 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.

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 önbelleğine parametresi key1 ve değeriyle Value 1bir key öğe eklemek için kullanılır. Dize dizisi, dependencyKeydaha 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 bulunamaz CacheDependency ancak daha sonra oluşturulursa, xyz.dat dosyası oluşturulduktan sonra önbelleğe alınan nesne 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, dependencyKeydaha sonra değeriyle key1 de oluşturulur. CacheDependency.CacheDependency Oluşturucu, dep1parametre 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 bulunamaz CacheDependency ancak daha sonra oluşturulursa, xyz.dat dosyası oluşturulduktan sonra önbelleğe alınan nesne 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, dependencyKeydaha 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 dep1oluş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 CacheDependency dep2bir 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 bulunamaz CacheDependency ancak daha sonra oluşturulursa, xyz.dat dosyası oluşturulduktan sonra önbelleğe alınan nesne 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 nesnelerden herhangi birinin son değiştirme tarihini denetlemek istediğiniz, geçmişteki filenames``cachekeysbir 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.

Ayrıca bkz.

Şunlara uygulanır