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 屬性來判斷 自 中 Cache 專案的上一個 CacheDependency 要求之後,是否變更了 。 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 從快取中移除 。

您可以使用 和 Cache.Insert 方法,將具有相依性的專案新增至應用程式的快取 Add 。 您無法使用 Item[] 屬性將專案新增至具有相依性的快取。

若要設定相依性,您可以建立 類別的 CacheDependency 實例,並指定專案相依的檔案、索引鍵或目錄,然後將相依性傳遞至 AddCache.Insert 方法。 CacheDependency實例可以代表單一檔案或目錄、檔案或目錄的陣列,或是檔案或目錄的陣列,以及快取索引鍵的陣列, (這些索引鍵陣列代表儲存在物件) 中的其他 Cache 專案。

建構函式

CacheDependency()

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

CacheDependency(String)

初始化 CacheDependency 類別的新執行個體,這執行個體可監視檔案或目錄的變更。

CacheDependency(String, DateTime)

初始化 CacheDependency 類別的新執行個體,這執行個體可監視檔案或目錄的變更。

CacheDependency(String[])

初始化 CacheDependency 類別的新執行個體,其可監視檔案或目錄之路徑陣列的變更。

CacheDependency(String[], DateTime)

初始化 CacheDependency 類別的新執行個體,其可監視檔案或目錄的路徑陣列之變更,並指定變更監視開始的時間。

CacheDependency(String[], String[])

初始化 CacheDependency 類別的新執行個體,其可監視檔案或目錄的路徑陣列、快取索引鍵的陣列或這兩者的變更。

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

初始化 CacheDependency 類別的新執行個體,其可監視檔案或目錄的路徑陣列、快取索引鍵的陣列或這兩者的變更。 它也會使本身相依於 CacheDependency 類別的個別執行個體。

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

初始化 CacheDependency 類別的新執行個體,其可監視檔案或目錄的路徑陣列、快取索引鍵的陣列或這兩者的變更。 它也會使本身相依於 CacheDependency 類別的另一個執行個體和開始監控變更的時間。

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

初始化 CacheDependency 類別的新執行個體,其可監視檔案或目錄的路徑陣列、快取索引鍵的陣列或這兩者的變更。

屬性

HasChanged

取得值,指出 CacheDependency 是否已經變更。

UtcLastModified

取得上次變更相依性的時間。

方法

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>)

加入 Action 方法來處理在變更此相依性時通知有興趣的對象。

SetUtcLastModified(DateTime)

標記上次變更相依性的時間。

TakeOwnership()

允許第一位使用者宣告這個相依性的獨佔擁有權。

ToString()

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

(繼承來源 Object)

適用於

另請參閱