Cache.Add メソッド

定義

依存関係ポリシー、有効期限ポリシー、優先順位ポリシー、および挿入された項目が 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 。 このメソッドが呼び出されると、 プロパティが にfalse設定itemRemovedされ、デリゲートのonRemove新しいインスタンスにメソッドがCacheItemRemovedCallback登録されます。 デリゲートのシグネチャは、 メソッドで RemovedCallback 使用されます。 次に、 メソッドは AddItemToCache 、キャッシュ内のキーに Key1 関連付けられている値を確認します。 値が の場合、メソッドはnullAdd、キー 、値Value 1Key1絶対有効期限 60 秒、および高いキャッシュ優先度を持つ項目をキャッシュに配置します。 また、 メソッドを onRemove 引数として使用します。 これにより、この項目が RemovedCallback キャッシュから削除されたときに メソッドを呼び出すことができます。

Note

クラスとデリゲートの使用方法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 特定の時刻に設定し、 パラメーターを slidingExpirationNoSlidingExpiration設定します。

アイテムが最後にアクセスされてから一定の時間が経過した後にキャッシュ アイテムの有効期限が切れる場合は、 パラメーターを slidingExpiration 有効期限に設定し、 パラメーターを absoluteExpirationNoAbsoluteExpiration設定します。

適用対象

こちらもご覧ください