語言

CacheDependency 類別

定義

建立儲存在 ASP.NET 應用程式 Cache 物件中的項目與檔案、快取金鑰、任一或另一個 CacheDependency 物件陣列之間的相依關係。 類別 CacheDependency 會監控依賴關係,當任何相依關係改變時,快取的項目會自動被移除。

public ref class CacheDependency sealed : IDisposable
public ref class CacheDependency : IDisposable
public sealed class CacheDependency : IDisposable
public class CacheDependency : IDisposable
type CacheDependency = class
    interface IDisposable
Public NotInheritable Class CacheDependency
Implements IDisposable
Public Class CacheDependency
Implements IDisposable
繼承
CacheDependency
衍生
實作

範例

以下程式碼範例示範利用該HasChanged屬性判斷 自上次請求 CacheDependencyn 後 是否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 

備註

如果你在快取中加入一個依賴於其他物件的項目,例如檔案或檔案陣列,當物件變更時,該相依項目會自動從快取中移除。 舉例來說,假設你根據 XML 檔案中的資料建立一個 DataSet 物件。 你可以用DataSet物件將 加入CacheDependency快取,使 它DataSet依賴於 XML 檔案。 若 XML 檔案變更,該 DataSet 檔案會從快取中移除。

你可以用 Add and Cache.Insert 方法將有相依的項目加入應用程式快取。 你不能用這個 Item[] 屬性來將有依賴性的項目加入快取。

要建立依賴,你先建立該類別的實例 CacheDependency ,指定該項目所依賴的檔案、鍵或目錄,然後將依賴性傳給 Add or Cache.Insert 方法。 該 CacheDependency 實例可以代表單一檔案或目錄、一組檔案或目錄,或是一組檔案或目錄陣列以及一組快取金鑰(這些快取鍵代表物件中 Cache 儲存的其他項目)。

建構函式

名稱 Description
CacheDependency()

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

CacheDependency(String, DateTime)

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

CacheDependency(String)

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

CacheDependency(String[], DateTime)

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

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

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

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

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

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

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

CacheDependency(String[], String[])

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

CacheDependency(String[])

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

屬性

名稱 Description
HasChanged

會得到一個值,表示物件是否 CacheDependency 改變。

UtcLastModified

會顯示依賴性最後變更的時間。

方法

名稱 Description
DependencyDispose()

釋放該類別及源CacheDependency自 的類別所使用的CacheDependency資源。

Dispose()

釋放物件 CacheDependency 所使用的資源。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
FinishInit()

完成物件初始化 CacheDependency 。

GetFileDependencies()

取得檔案相依關係。

GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type。

(繼承來源 Object)
GetUniqueID()

取得物件的唯一識別碼 CacheDependency 。

ItemRemoved()

當被監控的快取項目被移除時,會被呼叫。

KeepDependenciesAlive()

更新每個依賴該快取項目的最後存取時間。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
NotifyDependencyChanged(Object, EventArgs)

通知基底 CacheDependency 物件派生 CacheDependency 類別所代表的相依關係已變更。

SetCacheDependencyChanged(Action<Object,EventArgs>)

新增一個動作方法,用來通知相關方對此相依變更的通知。

SetUtcLastModified(DateTime)

標記依賴性最後一次變更的時間點。

TakeOwnership()

允許第一個使用者宣告對此依賴的專屬擁有權。

ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

適用於

另請參閱