使用相依性、期限和優先權原則,將指定項目加入
Cache 物件,並且您也可以從
Cache 移除插入項目時使用委派 (Delegate) 來告知您的應用程式。
命名空間: System.Web.Caching
組件: System.Web (在 system.web.dll 中)
Public Function Add ( _
key As String, _
value As Object, _
dependencies As CacheDependency, _
absoluteExpiration As DateTime, _
slidingExpiration As TimeSpan, _
priority As CacheItemPriority, _
onRemoveCallback As CacheItemRemovedCallback _
) As Object
Dim instance As Cache
Dim key As String
Dim value As Object
Dim dependencies As CacheDependency
Dim absoluteExpiration As DateTime
Dim slidingExpiration As TimeSpan
Dim priority As CacheItemPriority
Dim onRemoveCallback As CacheItemRemovedCallback
Dim returnValue As Object
returnValue = instance.Add(key, value, dependencies, absoluteExpiration, slidingExpiration, priority, onRemoveCallback)
public Object Add (
string key,
Object value,
CacheDependency dependencies,
DateTime absoluteExpiration,
TimeSpan slidingExpiration,
CacheItemPriority priority,
CacheItemRemovedCallback onRemoveCallback
)
public:
Object^ Add (
String^ key,
Object^ value,
CacheDependency^ dependencies,
DateTime absoluteExpiration,
TimeSpan slidingExpiration,
CacheItemPriority priority,
CacheItemRemovedCallback^ onRemoveCallback
)
public Object Add (
String key,
Object value,
CacheDependency dependencies,
DateTime absoluteExpiration,
TimeSpan slidingExpiration,
CacheItemPriority priority,
CacheItemRemovedCallback onRemoveCallback
)
public function Add (
key : String,
value : Object,
dependencies : CacheDependency,
absoluteExpiration : DateTime,
slidingExpiration : TimeSpan,
priority : CacheItemPriority,
onRemoveCallback : CacheItemRemovedCallback
) : Object
參數
- key
用來參考項目的快取索引鍵。
- value
要加入至快取的項目。
- dependencies
項目的檔案或快取索引鍵相依性。任何相依性變更時,物件會變成無效並從快取中移除。如果沒有相依性,這個參數就會包含 Null 參照 (即 Visual Basic 中的 Nothing)。
- absoluteExpiration
新增的物件過期並從快取中移除的時間。如果您是使用 Sliding Expiration,則 absoluteExpiration 參數必須為 NoAbsoluteExpiration。
- slidingExpiration
上次存取加入物件的時間與該物件到期的時間之間隔。如果這個值等於二十分鐘,那麼物件會在最後存取的二十分鐘後過期,並從快取中移除。如果您是使用 Absolute Expiration,則 slidingExpiration 參數必須為 NoSlidingExpiration。
- priority
物件的相對花費,如 CacheItemPriority 列舉型別所示。在其清除物件時,快取會使用這個值;花費較低的物件會在花費較高的物件之前從快取移除。
- onRemoveCallback
當物件從快取移除時,會呼叫委派 (如果有提供的話)。您可以使用這個在它們的物件從快取刪除時告知應用程式。
傳回值
如果項目先前已儲存在 Cache 中,則為 Object,否則為 Null 參照 (即 Visual Basic 中的 Nothing)。
對這個方法的呼叫將失敗,如果具有相同 key 參數的項目已經在 Cache 中的話。若要使用相同 key 參數覆寫現有 Cache 項目時,請使用 Insert 方法。
您不能同時設定 absoluteExpiration 和 slidingExpiration 參數。如果您希望快取項目在特定時間到期,請將 absoluteExpiration 參數設定為特定時間,並將 slidingExpiration 參數設定為 NoSlidingExpiration。
如果您希望快取項目自上次存取項目算起,經過特定時間後到期,請將 slidingExpiration 參數設定為到期間隔,並將 absoluteExpiration 參數設定為 NoAbsoluteExpiration。
下列範例會建立 AddItemToCache 方法。呼叫這個方法時,會將 itemRemoved 屬性設定為 false,並使用 CacheItemRemovedCallback 委派的新執行個體註冊 onRemove 方法。委派的簽章是用於 RemovedCallback 方法中。AddItemToCache 方法接著會檢查與快取中的 Key1 索引鍵關聯的值。如果該值為 Null 參照 (即 Visual Basic 中的 Nothing),則 Add 方法會以 Key1 的索引鍵、Value 1 的值、60 秒的 Absolute Expiration 及高快取優先權,將項目放在快取中。此外,也會使用 onRemove 方法做為引數,以便從快取中移除這個項目時,可以呼叫 RemovedCallback 方法。
Public Sub AddItemToCache(sender As Object, e As EventArgs)
itemRemoved = false
onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)
If (IsNothing(Cache("Key1"))) Then
Cache.Add("Key1", "Value 1", Nothing, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove)
End If
End Sub
public void AddItemToCache(Object sender, EventArgs e) {
itemRemoved = false;
onRemove = new CacheItemRemovedCallback(this.RemovedCallback);
if (Cache["Key1"] == null)
Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove);
}
public function AddItemToCache(sender : Object, e : EventArgs) {
itemRemoved = false;
onRemove = this.RemovedCallback;
if (Cache["Key1"] == null)
Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(10), TimeSpan.Zero, CacheItemPriority.High, onRemove);
}
Windows 98、 Windows 2000 SP4、 Windows Server 2003、 Windows XP Media Center Edition、 Windows XP Professional x64 Edition、 Windows XP SP2、 Windows XP Starter Edition
.NET Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱系統需求一節的內容。
.NET Framework
支援版本:2.0、1.1、1.0