CacheDependency 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 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。