CacheDependency 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在儲存於 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 實例,並指定專案相依的檔案、索引鍵或目錄,然後將相依性傳遞至 Add 或 Cache.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) |