CacheDependency 建構函式

定義

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

多載

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 檔案時移除快取的物件。

注意

當您建立包含檔案相依性的陣列時,您必須定義您要新增至 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 檔案時移除快取的物件。

注意

變更追蹤會立即開始,而不是直接根據 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 建立 物件,當 物件包含在方法呼叫中 Cache.Insert 做為參數引數時,會傳遞兩個 XML 檔案和一個 DateTime.Now 值。

// 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 檔案時移除快取的物件。

注意

變更追蹤會立即開始,而不是直接根據 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

檢查物件的上次修改日期所根據的日期和時間 (這些物件是在 filenamescachekeys 陣列中傳入)。

範例

下列程式碼範例會 CreateDependency 建立 方法。 呼叫這個方法時,它會建立 DateTime 物件,並使用 Cache.Item[] 屬性將專案加入至快 key 取,且 參數 key1 為 和 值 Value 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 至少有一個值不存在,則插入會失敗。 請注意,此案例沒有擲回例外狀況。

注意

變更追蹤會立即開始,而不會直接根據 start 參數。 start使用 參數來傳遞過去您想要檢查或 cachekeys 參數中 filenames 任何物件上次修改日期的日期和時間。 如果上述任何物件的上次修改日期晚于 參數中 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[] 屬性,將專案新增至快取,且 參數 keykey1Value 1 為 。 接著也會使用 的值 key1 來建立字串 dependencyKey 陣列。 建 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 物件, dep1 該物件會傳遞 dependencyKey 為參數引數。 接著會使用此建構函式來建立第二 CacheDependency 個 物件 dep2 ,並將 dep1 物件 DateTime 當做參數引數傳遞。 第二個相依性相依于第一個相依性,在呼叫 方法之後 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 至少有一個值不存在,則插入會失敗。 請注意,此案例沒有擲回例外狀況。

注意

變更追蹤會立即開始,而不會直接根據 start 參數。 start使用 參數來傳遞過去您想要檢查傳入 、 cachekeysdependency 參數之任何物件 filenames 上次修改日期的日期和時間。 如果上述任何物件的上次修改日期晚于 參數中 start 傳遞的日期和時間,則會從 Cache 中移除快取的專案。

另請參閱

適用於