Cache.Add メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
依存関係ポリシー、有効期限ポリシー、優先順位ポリシー、および挿入された項目が Cache
から削除されたことをアプリケーションに通知するために使用できるデリゲートを指定して、Cache オブジェクトに指定の項目を追加します。
public:
System::Object ^ Add(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System::Web::Caching::CacheItemPriority priority, System::Web::Caching::CacheItemRemovedCallback ^ onRemoveCallback);
public object Add (string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System.Web.Caching.CacheItemPriority priority, System.Web.Caching.CacheItemRemovedCallback onRemoveCallback);
member this.Add : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan * System.Web.Caching.CacheItemPriority * System.Web.Caching.CacheItemRemovedCallback -> obj
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
パラメーター
- key
- String
項目の参照に使用されるキャッシュ キー。
- value
- Object
キャッシュに追加される項目。
- dependencies
- CacheDependency
項目のファイル依存関係またはキャッシュ キー依存関係。 依存関係が変化すると、オブジェクトは無効になり、キャッシュから削除されます。 依存関係がない場合は、このパラメーターには null
が格納されます。
- absoluteExpiration
- DateTime
追加されたオブジェクトの有効期限が切れて、キャッシュから削除される時刻。 スライド式有効期限を使用している場合は、absoluteExpiration
パラメーターは NoAbsoluteExpiration にする必要があります。
- slidingExpiration
- TimeSpan
追加されたオブジェクトが最後にアクセスされてからそのオブジェクトが期限切れになるまでの間隔。 この値が 20 分に設定されている場合、オブジェクトは、最後にアクセスされてから 20 分が経過すると期限切れになり、キャッシュから削除されます。 絶対有効期限を使用している場合は、slidingExpiration
パラメーターは NoSlidingExpiration にする必要があります。
- priority
- CacheItemPriority
CacheItemPriority 列挙体によって表現される、オブジェクトの相対コスト。 キャッシュからオブジェクトを削除するときにこの値が使用されます。コストが低いオブジェクトは、コストが高いオブジェクトよりも先にキャッシュから削除されます。
- onRemoveCallback
- CacheItemRemovedCallback
オブジェクトがキャッシュから削除される場合に呼び出されるデリゲート (指定されている場合)。 このデリゲートを使用して、オブジェクトがキャッシュから削除されたことをアプリケーションに通知できます。
戻り値
項目が既にキャッシュに格納されている場合は、追加された項目を表すオブジェクト。それ以外の場合は null
。
例外
key
または value
パラメーターが null
に設定されています。
slidingExpiration
パラメーターは TimeSpan.Zero
未満、または 2 年以上に設定されます。
Cache
に追加しようとした項目に、absoluteExpiration
パラメーターと slidingExpiration
パラメーターの両方が設定されます。
例
次の例では、 メソッドを作成します AddItemToCache
。 このメソッドが呼び出されると、プロパティが itemRemoved
に false
設定され、デリゲートの onRemove
新しいインスタンスにメソッドが CacheItemRemovedCallback 登録されます。 デリゲートのシグネチャは、 メソッドで RemovedCallback
使用されます。 次に、 メソッドは AddItemToCache
キャッシュ内のキーに Key1
関連付けられている値を確認します。 値が の場合、メソッドはnull
Add
、キー、値Value 1
、Key1
絶対有効期限 60 秒、高いキャッシュ優先度を持つ項目をキャッシュに配置します。 また、 メソッドを onRemove
引数として使用します。 これにより、 RemovedCallback
この項目がキャッシュから削除されたときに メソッドを呼び出すことができます。
注意
クラスとデリゲートの使用方法CacheDependencyの例については、「アプリケーション データのCacheItemRemovedCallbackキャッシュ」を参照してください。
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), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
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), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)
End If
End Sub
注釈
同じ key
パラメーターを持つ項目が に既に格納されている場合、このメソッドの呼び出しはサイレントモードで Cache
失敗します。 同じkey
パラメーターを使用して既存Cache
の項目を上書きするには、 メソッドを使用しますInsert。
パラメーターと slidingExpiration
パラメーターの両方をabsoluteExpiration
設定することはできません。 キャッシュ項目が特定の時刻に期限切れになる場合は、 パラメーターを absoluteExpiration
特定の時刻に設定し、 パラメーターを slidingExpiration
に NoSlidingExpiration設定します。
アイテムが最後にアクセスされてから一定の時間が経過した後にキャッシュ 項目の有効期限が切れる場合は、 パラメーターを slidingExpiration
有効期限に設定し、 パラメーターを absoluteExpiration
に NoAbsoluteExpiration設定します。
適用対象
こちらもご覧ください
.NET