語言

CacheDependency 建構函式

定義

初始化 CacheDependency 類別的新執行個體。

多載

名稱 Description
CacheDependency()

初始化 CacheDependency 類別的新執行個體。

CacheDependency(String)

初始化一個新的類別實例 CacheDependency ,監控檔案或目錄是否有變更。

CacheDependency(String[])

初始化一個新的類別實例 CacheDependency ,監控一組路徑陣列(指向檔案或目錄)以偵測變更。

CacheDependency(String, DateTime)

初始化一個新的類別實例 CacheDependency ,監控檔案或目錄是否有變更。

CacheDependency(String[], DateTime)

初始化一個新的類別實例 CacheDependency ,監控一組路徑陣列(指向檔案或目錄)是否有變更,並指定變更監控開始的時間點。

CacheDependency(String[], String[])

初始化一個新的類別實例 CacheDependency ,監控路徑陣列(指向檔案或目錄)、快取鍵陣列,或兩者皆有變更。

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

初始化一個新的類別實例 CacheDependency ,監控路徑陣列(指向檔案或目錄)、快取鍵陣列,或兩者皆有變更。

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

初始化一個新的類別實例 CacheDependency ,監控路徑陣列(指向檔案或目錄)、快取鍵陣列,或兩者皆有變更。 它也會依賴於該 CacheDependency 類別的另一個獨立實例。

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

初始化一個新的類別實例 CacheDependency ,監控路徑陣列(指向檔案或目錄)、快取鍵陣列,或兩者皆有變更。 它也會依賴於該類別的另一個實例 CacheDependency 以及變更監控開始的時間點。

CacheDependency()

初始化 CacheDependency 類別的新執行個體。

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

範例

以下程式碼範例是一個實作此版本 CacheDependency 建構子的類別,因為所有從衍生的 CacheDependency 類別都必須如此。

' Declare the class.
Public Class CustomCacheDependency 
   Inherits CacheDependency

     ' Constructor with no arguments 
     ' provided by CacheDependency class.
     Public Sub New()
     End Sub
   
     ' Declare a Boolean field named disposedValue.
     ' This will be used by Disposed property.
     Private disposedValue As Boolean                
     
     ' Create accessors for the Disposed property.
     Public Property Disposed As Boolean
       Get
           Return disposedValue
       End Get
       Set (ByVal value As Boolean)
           disposedValue = value
       End Set
     End Property
     
     ' Create a public method that sets the latest
     ' changed time of the CustomCacheDependency
     ' and notifies the underlying CacheDependency that the 
     ' dependency has changed, even though the HasChanged
     ' property is false.
     Public Sub ResetDependency()
        If Me.HasChanged = False              
           SetUtcLastModified(DateTime.MinValue)
           NotifyDependencyChanged(Me, EventArgs.Empty)
        End If
     End Sub
     
     ' Overrides the DependencyDispose method to set the
     ' Disposed proerty to true. This method automatically
     ' notifies the underlying CacheDependency object to 
     ' release any resources associated with this class. 
     Protected Overrides Sub DependencyDispose()
        Disposed = True
     End Sub
     
     
 End Class

備註

如果你想從中衍生出自己的類別 CacheDependency,實作這個版本的 CacheDependency 建構子。

另請參閱

適用於

CacheDependency(String)

初始化一個新的類別實例 CacheDependency ,監控檔案或目錄是否有變更。

public:
 CacheDependency(System::String ^ filename);
public CacheDependency(string filename);
new System.Web.Caching.CacheDependency : string -> System.Web.Caching.CacheDependency
Public Sub New (filename As String)

參數

filename
String

快取物件所依賴的檔案或目錄路徑。 當此資源變更時,快取物件即過時並從快取中移除。

範例

以下程式碼範例建立一個依賴 XML 檔案的類別實例 CacheDependency 。 Cache.Insert該方法接著會向 加入一個依賴該檔案的項目Cache。

CacheDependency dep = new CacheDependency(Server.MapPath("isbn.xml"));
Cache.Insert("ISBNData", Source, dep);

Dim dep As New CacheDependency(Server.MapPath("isbn.xml"))
    Cache.Insert("ISBNData", Source, dep)

你也可以使用以下技巧,將一個物件加入 Cache 到檔案中,並且依賴該檔案。

// Make key1 dependent on a file.
CacheDependency dependency = new CacheDependency(Server.MapPath("isbn.xml"));

Cache.Insert("key1", "Value 1", dependency);
    ' Make key1 dependent on a file.
    Dim dependency as new CacheDependency(Server.MapPath("isbn.xml"))

    Cache.Insert("key1", "Value 1", dependency)
End If

備註

若參數中指定的 filename 目錄或檔案在檔案系統中找不到,則該檔案將被視為遺失。 如果在加入依賴物件到 Cache時目錄或檔案遺失,快取物件會在建立目錄或檔案時被移除 Cache 。

舉例來說,假設你在 中 Cache 加入一個物件,其依賴於以下檔案路徑:c:\stocks\xyz.dat。 如果在建立物件時 CacheDependency 找不到該檔案,但後來又被建立,則在建立xyz.dat檔案時,該快取物件會被移除。

另請參閱

適用於

CacheDependency(String[])

初始化一個新的類別實例 CacheDependency ,監控一組路徑陣列(指向檔案或目錄)以偵測變更。

public:
 CacheDependency(cli::array <System::String ^> ^ filenames);
public CacheDependency(string[] filenames);
new System.Web.Caching.CacheDependency : string[] -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String())

參數

filenames
String[]

快取物件依賴的路徑陣列(指向檔案或目錄)。 當這些資源發生變動時,快取物件即過時並從快取中移除。

範例

以下程式碼範例示範如何使用此 Cache.Insert 方法將項目加入 Cache ,且依賴於一組檔案陣列。 你也可以讓項目依賴於多個目錄陣列。

    // Make key1 dependent on several files.
    String[] files = new String[2];
    files[0] = Server.MapPath("isbn.xml");
    files[1] = Server.MapPath("customer.xml");
    CacheDependency dependency = new CacheDependency(files);

    Cache.Insert("key1", "Value 1", dependency);
}
    ' Make key1 dependent on several files.
    Dim files(2) as String
    files(0) = Server.MapPath("isbn.xml")
    files(1) = Server.MapPath("customer.xml")
    Dim dependency as new CacheDependency(files)

    Cache.Insert("key1", "Value 1", dependency)
End If

備註

如果陣列中的任何檔案或目錄變更或被移除,快取的項目將變得過時,並從應用程式 Cache 的物件中移除。

此外,若參數中指定的 filenames 目錄或檔案在檔案系統中找不到,則視為遺失。 如果在將帶有依賴性的物件加入 Cache時,目錄或檔案遺失,該快取物件會在建立該目錄或檔案時被移除 Cache 。

舉例來說,假設你在 中 Cache 加入一個物件,其依賴於以下檔案路徑:c:\stocks\xyz.dat。 如果在建立物件時 CacheDependency 找不到該檔案,但後來又被建立,則在建立xyz.dat檔案時,該快取物件會被移除。

Note

當你建立包含檔案相依的陣列時,必須定義你所新增 Cache 的項目所依賴的檔案數量。

另請參閱

適用於

CacheDependency(String, DateTime)

初始化一個新的類別實例 CacheDependency ,監控檔案或目錄是否有變更。

public:
 CacheDependency(System::String ^ filename, DateTime start);
public CacheDependency(string filename, DateTime start);
new System.Web.Caching.CacheDependency : string * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filename As String, start As DateTime)

參數

filename
String

快取物件所依賴的檔案或目錄路徑。 當此資源變更時,快取物件即過時並從快取中移除。

start
DateTime

用來檢查目錄或檔案最後修改日期的時間。

範例

以下程式碼範例使用此建構子實例化物件CacheDependency,然後將帶有該依賴性的物件插入物件。Cache dt參數中傳遞start的值設為 DateTime.Now。

// Insert the cache item.
CacheDependency dep = new CacheDependency(fileName, dt);
cache.Insert("key", "value", dep);

// Check whether CacheDependency.HasChanged is true.
if (dep.HasChanged)
  Response.Write("<p>The dependency has changed.");  
else Response.Write("<p>The dependency has not changed.");
' Insert the cache item.
Dim dep As New CacheDependency(fileName, dt)
myCache.Insert("key", "value", dep)

' Check whether CacheDependency.HasChanged is true.
If dep.HasChanged Then
   Response.Write("<p>The dependency has changed.")
Else
   Response.Write("<p>The dependency has not changed.")
End If 

備註

若參數中指定的 filename 目錄或檔案在檔案系統中找不到,則該檔案將被視為遺失。 如果在加入依賴物件到 Cache時目錄或檔案遺失,快取物件會在建立目錄或檔案時被移除 Cache 。

舉例來說,假設你在 中 Cache 加入一個物件,其依賴於以下檔案路徑:c:\stocks\xyz.dat。 如果在建立物件時 CacheDependency 找不到該檔案,但後來又被建立,則在建立xyz.dat檔案時,該快取物件會被移除。

Note

變更追蹤會立即開始,且不直接基於參數。start 使用參數 start 傳遞過去的日期和時間,並用以檢查該目錄或檔案 filename 最後修改日期。 若最後修改日期晚於參數中傳遞 start 的日期與時間,快取項目將從 中移除 Cache。

另請參閱

適用於

CacheDependency(String[], DateTime)

初始化一個新的類別實例 CacheDependency ,監控一組路徑陣列(指向檔案或目錄)是否有變更,並指定變更監控開始的時間點。

public:
 CacheDependency(cli::array <System::String ^> ^ filenames, DateTime start);
public CacheDependency(string[] filenames, DateTime start);
new System.Web.Caching.CacheDependency : string[] * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), start As DateTime)

參數

filenames
String[]

快取物件依賴的路徑陣列(指向檔案或目錄)。 當這些資源發生變動時,快取物件即過時並從快取中移除。

start
DateTime

這是檢查陣列中物件最後修改日期的時間點。

範例

以下程式碼範例建立一個CacheDependency物件,當該物件作為參數參數被包含於DateTime.Now方法呼叫時,該物件會傳遞兩個 XML 檔案及一個Cache.Insert值。

// Create a DateTime object that determines
// when dependency monitoring begins.
DateTime dt = DateTime.Now;
    // Make key1 dependent on several files.
    String[] files = new String[2];
    files[0] = Server.MapPath("isbn.xml");
    files[1] = Server.MapPath("customer.xml");
    CacheDependency dep = new CacheDependency(files, dt);

    Cache.Insert("key1", "Value 1", dep);
}
    ' Create a DateTime object that determines
    '  when dependency monitoring begins.
    Dim dt As DateTime = DateTime.Now

    ' Make key1 dependent on several files.
    Dim files(2) as String
    files(0) = Server.MapPath("isbn.xml")
    files(1) = Server.MapPath("customer.xml")
    Dim dependency as new CacheDependency(files, dt)

    Cache.Insert("key1", "Value 1", dependency)
End If

備註

若參數中指定的 filenames 目錄或檔案未在檔案系統中找到,則視為遺失。 如果在將帶有依賴性的物件加入 Cache時,目錄或檔案遺失,該快取物件會在建立該目錄或檔案時被移除 Cache 。

舉例來說,假設你在 中 Cache 加入一個物件,其依賴於以下檔案路徑:c:\stocks\xyz.dat。 如果在建立物件時 CacheDependency 找不到該檔案,但後來又被建立,則在建立xyz.dat檔案時,該快取物件會被移除。

Note

變更追蹤會立即開始,且不直接基於參數。start 使用參數 start 傳遞過去的日期和時間,並用來檢查參數中傳遞 filenames 的陣列最後修改日期。 若陣列中任何物件的最後修改日期晚於參數中傳遞 start 的日期與時間,該快取項目將從 中移除 Cache。

另請參閱

適用於

CacheDependency(String[], String[])

初始化一個新的類別實例 CacheDependency ,監控路徑陣列(指向檔案或目錄)、快取鍵陣列,或兩者皆有變更。

public:
 CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys);
public CacheDependency(string[] filenames, string[] cachekeys);
new System.Web.Caching.CacheDependency : string[] * string[] -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String())

參數

filenames
String[]

快取物件依賴的路徑陣列(指向檔案或目錄)。 當這些資源發生變動時,快取物件即過時並從快取中移除。

cachekeys
String[]

一組快取金鑰陣列,新物件會監控這些金鑰是否有變動。 當這些快取鍵中的任何一個變更時,與此相依物件相關的快取物件將變得過時,並從快取中移除。

範例

以下程式碼片段示範如何將一個項目插入你的應用程式 Cache ,並依賴快取中另一個項目的金鑰。 由於此方法使用陣列語法,你必須定義你所加入 Cache 的項目所依賴的鍵數。

public void CreateDependency(Object sender, EventArgs e) {
    // Create a cache entry.
    Cache["key1"] = "Value 1";

    // Make key2 dependent on key1.
    String[] dependencyKey = new String[1];
    dependencyKey[0] = "key1";
    CacheDependency dependency = new CacheDependency(null, dependencyKey);

    Cache.Insert("key2", "Value 2", dependency);

    DisplayValues();
}
Public Sub CreateDependency(sender As Object, e As EventArgs)
    ' Create a cache entry.
    Cache("key1") = "Value 1"

    ' Make key2 dependent on key1.
    Dim dependencyKey(0) As String
    dependencyKey(0) = "key1"
    Dim dependency As new CacheDependency(Nothing, dependencyKey)

    Cache.Insert("key2", "Value 2", dependency)

    DisplayValues()
End Sub

備註

此外,若參數中指定的 filenames 目錄或檔案在檔案系統中找不到,則視為遺失。 如果在將帶有依賴性的物件加入 Cache時,目錄或檔案遺失,該快取物件會在建立該目錄或檔案時被移除 Cache 。

舉例來說,假設你在 中 Cache 加入一個物件,其依賴於以下檔案路徑:c:\stocks\xyz.dat。 如果在建立物件時 CacheDependency 找不到該檔案,但後來又被建立,則在建立xyz.dat檔案時,該快取物件會被移除。

然而, cachekeys 依賴關係並非如此運作。 如果插入時參數中至少有一個值 cachekeys 不存在,插入即失敗。 請注意,此情境沒有例外。

另請參閱

適用於

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

初始化一個新的類別實例 CacheDependency ,監控路徑陣列(指向檔案或目錄)、快取鍵陣列,或兩者皆有變更。

public:
 CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, DateTime start);
public CacheDependency(string[] filenames, string[] cachekeys, DateTime start);
new System.Web.Caching.CacheDependency : string[] * string[] * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), start As DateTime)

參數

filenames
String[]

快取物件依賴的路徑陣列(指向檔案或目錄)。 當這些資源發生變動時,快取物件即過時並從快取中移除。

cachekeys
String[]

一組快取金鑰陣列,新物件會監控這些金鑰是否有變動。 當這些快取鍵中的任何一個變更時,與此相依物件相關的快取物件將變得過時,並從快取中移除。

start
DateTime

用來檢查物件最後修改日期的日期和時間,這些物件在 and filenames 陣列中cachekeys通過。

範例

以下程式碼範例建立一個 CreateDependency 方法。 當呼叫此方法時,會建立一個 DateTime 物件,並利用該 Cache.Item[] 屬性將參數為 、值為 的項目加入快 keykey1Value 1取。 接著會建立一個字串dependencyKey陣列,值也為 。key1 這個CacheDependency建構子接著實例化一個CacheDependency物件,將 和 dependencyKey 物件作為參數參數傳遞DateTime。 Cache.Insert接著呼叫該方法,使用CacheDependency物件作為參數。 這使得使用該Insert方法加入快取的物件會依賴於該鍵。key1

public void CreateDependency(Object sender, EventArgs e)
{
    // Create a DateTime object.
    DateTime dt = DateTime.Now.AddSeconds(10);

    // Create a cache entry.
    Cache["key1"] = "Value 1";

    // Make key2 dependent on key1.
    String[] dependencyKey = new String[1];
    dependencyKey[0] = "key1";
    CacheDependency dependency = new CacheDependency(null, dependencyKey, dt);

    Cache.Insert("key2", "Value 2", dependency);

    DisplayValues();
}
Public Sub CreateDependency(sender As Object, e As EventArgs)
' Create a DateTime object.
Dim dt as DateTime = DateTime.Now.AddSeconds(10)        

' Create a cache entry.
    Cache("key1") = "Value 1"

    ' Make key2 dependent on key1.
    Dim dependencyKey(0) As String
    dependencyKey(0) = "key1"
    Dim dependency As new CacheDependency(Nothing, dependencyKey, dt)

    Cache.Insert("key2", "Value 2", dependency)

    DisplayValues()
End Sub

備註

此外,若參數中指定的 filenames 目錄或檔案在檔案系統中找不到,則視為遺失。 如果在將帶有依賴性的物件加入 Cache時,目錄或檔案遺失,該快取物件會在建立該目錄或檔案時被移除 Cache 。

舉例來說,假設你在 中 Cache 加入一個物件,其依賴於以下檔案路徑:c:\stocks\xyz.dat。 如果在建立物件時 CacheDependency 找不到該檔案,但後來又被建立,則在建立xyz.dat檔案時,該快取物件會被移除。

然而, cachekeys 依賴關係並非如此運作。 如果插入時參數中至少有一個值 cachekeys 不存在,插入即失敗。 請注意,此情境沒有例外。

Note

變更追蹤會立即開始,且不直接基於參數。start 使用參數start傳遞過去的日期和時間,並用來檢查 OR filenames 參數中任何物件cachekeys的最後修改日期。 如果這些物件的最後修改日期晚於參數中傳遞 start 的日期與時間集合,快取項目將從 中移除 Cache。

另請參閱

適用於

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

初始化一個新的類別實例 CacheDependency ,監控路徑陣列(指向檔案或目錄)、快取鍵陣列,或兩者皆有變更。 它也會依賴於該 CacheDependency 類別的另一個獨立實例。

public:
 CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, System::Web::Caching::CacheDependency ^ dependency);
public CacheDependency(string[] filenames, string[] cachekeys, System.Web.Caching.CacheDependency dependency);
new System.Web.Caching.CacheDependency : string[] * string[] * System.Web.Caching.CacheDependency -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), dependency As CacheDependency)

參數

filenames
String[]

快取物件依賴的路徑陣列(指向檔案或目錄)。 當這些資源發生變動時,快取物件即過時並從快取中移除。

cachekeys
String[]

一組快取金鑰陣列,新物件會監控這些金鑰是否有變動。 當這些快取鍵中的任何一個變更時,與此相依物件相關的快取物件將變得過時,並從快取中移除。

dependency
CacheDependency

這個實例所依賴的類別的另一個實例 CacheDependency 。

範例

以下程式碼範例建立一個 CreateDependency 方法。 當呼叫此方法時,會利用屬性Cache.Item[]將一個參數keykey1為 且值為 Value 1的項目加入快取。 接著會建立一個字串dependencyKey陣列,值也為 。key1 CacheDependency.CacheDependency建構子用於建立一個CacheDependency物件,dep1該dependencyKey物件作為參數參數通過。 CacheDependency第二個物件 dep2,利用此建構子創建,並以 dep1 作為第三個參數參數傳遞。 這第二個依賴依賴性依賴於第一個。 接著呼叫該 Cache.Insert 方法,並以第二個 CacheDependency 物件作為參數。 如果第一個相依關係有任何變化,快取項目將會失效。

public void CreateDependency(Object sender, EventArgs e) {
    // Create a cache entry.
    Cache["key1"] = "Value 1";

    // Make key2 dependent on key1.
    String[] dependencyKey = new String[1];
    dependencyKey[0] = "key1";
    CacheDependency dep1 = new CacheDependency(null, dependencyKey);

    // Make a second CacheDependency dependent on dep1.        
    CacheDependency dep2 = new CacheDependency(null, null, dep1);

    Cache.Insert("key2", "Value 2", dep2);

    DisplayValues();
}
 Public Sub CreateDependency(sender As [Object], e As EventArgs)
   ' Create a cache entry.
   Cache("key1") = "Value 1"

   ' Make key2 dependent on key1 using double dependency.
   Dim dependencyKey(0) As [String]
   dependencyKey(0) = "key1"
   Dim dep1 As New CacheDependency(Nothing, dependencyKey)

   ' Make a second CacheDependency dependent on dep1.        
   Dim dep2 As New CacheDependency(Nothing, Nothing, dep1)

   Cache.Insert("key2", "Value 2", dep2)

   DisplayValues()
End Sub 'CreateDependency

備註

此外,若參數中指定的 filenames 目錄或檔案在檔案系統中找不到,則視為遺失。 如果在將帶有依賴性的物件加入 Cache時,目錄或檔案遺失,該快取物件會在建立該目錄或檔案時被移除 Cache 。

舉例來說,假設你在 中 Cache 加入一個物件,其依賴於以下檔案路徑:c:\stocks\xyz.dat。 如果在建立物件時 CacheDependency 找不到該檔案,但後來又被建立,則在建立xyz.dat檔案時,該快取物件會被移除。

然而, cachekeys 依賴關係並非如此運作。 如果插入時參數中至少有一個值 cachekeys 不存在,插入即失敗。 請注意,此情境沒有例外。

適用於

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

初始化一個新的類別實例 CacheDependency ,監控路徑陣列(指向檔案或目錄)、快取鍵陣列,或兩者皆有變更。 它也會依賴於該類別的另一個實例 CacheDependency 以及變更監控開始的時間點。

public:
 CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, System::Web::Caching::CacheDependency ^ dependency, DateTime start);
public CacheDependency(string[] filenames, string[] cachekeys, System.Web.Caching.CacheDependency dependency, DateTime start);
new System.Web.Caching.CacheDependency : string[] * string[] * System.Web.Caching.CacheDependency * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), dependency As CacheDependency, start As DateTime)

參數

filenames
String[]

快取物件依賴的路徑陣列(指向檔案或目錄)。 當這些資源發生變動時,快取物件即過時並從快取中移除。

cachekeys
String[]

一組快取金鑰陣列,新物件會監控這些金鑰是否有變動。 當這些快取鍵中的任何一個變更時,與此相依物件相關的快取物件將變得過時,並從快取中移除。

dependency
CacheDependency

這個實例所依賴的類別的另一個實例 CacheDependency 。

start
DateTime

以及檢查陣列中物件最後修改日期的時間點,以及物件本身 CacheDependency 。

範例

以下程式碼範例展示了一個 CreateDependency 方法。 當呼叫此方法時,會建立一個 DateTime 物件,並利用該 Cache.Item[] 屬性將一個具有鍵參數 和 key1 值 Value 1的項目加入快取。 接著建立一個字串 dependencyKey陣列,其第一個(也是唯一一個)索引的值也設為 的 key1 值。 接著用建CacheDependency.CacheDependency構子建立一個CacheDependency物件,該物件作為dep1dependencyKey參數參數傳遞。 接著會用這個建構子建立第二個CacheDependency物件 dep2,物件dep1DateTime作為參數參數傳遞。 第二個相依依賴依賴於第一個,且依賴監控會在呼叫方法後 CreateDependency 10 秒開始。 接著呼叫該 Cache.Insert 方法,並以第二個 CacheDependency 物件作為參數。 如果第一個相依關係有任何變化,快取項目將會失效。

public void CreateDependency(Object sender, EventArgs e) {
    // Create a DateTime object.
    DateTime dt = DateTime.Now.AddSeconds(10);

    // Create a cache entry.
    Cache["key1"] = "Value 1";

    // Make key2 dependent on key1.
    String[] dependencyKey = new String[1];
    dependencyKey[0] = "key1";
    CacheDependency dep1 = new CacheDependency(null, dependencyKey);

    // Make a second CacheDependency dependent on dep1.
    // and use dt to start change monitoring.        
    CacheDependency dep2 = new CacheDependency(null, null, dep1, dt);

    Cache.Insert("key2", "Value 2", dep2);

    DisplayValues();
}
 Public Sub CreateDependency(sender As [Object], e As EventArgs)
   ' Create a DateTime object.
   Dim dt as DateTime = DateTime.Now.AddSeconds(10)        

   ' Create a cache entry.
   Cache("key1") = "Value 1"

   ' Make key2 dependent on key1 using double dependency.
   Dim dependencyKey(0) As [String]
   dependencyKey(0) = "key1"
   Dim dep1 As New CacheDependency(Nothing, dependencyKey)

   ' Make a second CacheDependency dependent on dep1
   ' and use dt to start change monitoring.        
   Dim dep2 As New CacheDependency(Nothing, Nothing, dep1, dt)

   Cache.Insert("key2", "Value 2", dep2)

   DisplayValues()
End Sub 'CreateDependency

備註

此外,若參數中指定的 filenames 目錄或檔案在檔案系統中找不到,則視為遺失。 如果在將帶有依賴性的物件加入 Cache時,目錄或檔案遺失,該快取物件會在建立該目錄或檔案時被移除 Cache 。

舉例來說,假設你在 中 Cache 加入一個物件,其依賴於以下檔案路徑:c:\stocks\xyz.dat。 如果在建立物件時 CacheDependency 找不到該檔案,但後來又被建立,則在建立xyz.dat檔案時,該快取物件會被移除。

然而, cachekeys 依賴關係並非如此運作。 如果插入時參數中至少有一個值 cachekeys 不存在,插入即失敗。 請注意,此情境沒有例外。

Note

變更追蹤會立即開始,且不直接基於參數。start 使用參數start傳遞過去的日期和時間,並用以檢查任何在 、 filenames或 cachekeys 參數中dependency傳遞的物件的最後修改日期。 若這些物件的最後修改日期晚於參數中 start 傳遞的日期與時間,快取項目將從 中移除 Cache。

另請參閱

適用於