MemoryCache.AddOrGetExisting メソッド

定義

キャッシュ エントリをキャッシュに挿入します。

オーバーロード

AddOrGetExisting(CacheItem, CacheItemPolicy)

指定した CacheItem インスタンスおよびエントリの削除方法の詳細を使用して、キャッシュ エントリをキャッシュに追加します。

AddOrGetExisting(String, Object, DateTimeOffset, String)

指定したキーと値および絶対有効期限の値を使用して、キャッシュ エントリをキャッシュに追加します。

AddOrGetExisting(String, Object, CacheItemPolicy, String)

指定したキーと値およびキャッシュ エントリの削除方法の詳細を使用して、キャッシュ エントリをキャッシュに挿入します。

注釈

メソッドのオーバーロードは AddOrGetExisting 、キャッシュエントリをキャッシュに挿入するために使用されます。 一致するキーを持つキャッシュ エントリが存在しない場合、これらのメソッドは新しいエントリを挿入します。 一致するキーを持つキャッシュ エントリが既に存在する場合は、既存のエントリが返されます。

AddOrGetExisting(CacheItem, CacheItemPolicy)

ソース:
MemoryCache.cs
ソース:
MemoryCache.cs
ソース:
MemoryCache.cs
ソース:
MemoryCache.cs
ソース:
MemoryCache.cs

指定した CacheItem インスタンスおよびエントリの削除方法の詳細を使用して、キャッシュ エントリをキャッシュに追加します。

public:
 override System::Runtime::Caching::CacheItem ^ AddOrGetExisting(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override System.Runtime.Caching.CacheItem AddOrGetExisting (System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.AddOrGetExisting : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> System.Runtime.Caching.CacheItem
Public Overrides Function AddOrGetExisting (item As CacheItem, policy As CacheItemPolicy) As CacheItem

パラメーター

item
CacheItem

追加するオブジェクト。

policy
CacheItemPolicy

キャッシュ エントリの削除の詳細を格納しているオブジェクト。 このオブジェクトは、単純な絶対有効期限よりも多くの削除オプションを提供します。

戻り値

同じキーを持つキャッシュ エントリが存在する場合は、既存のキャッシュ エントリ。それ以外の場合は null

例外

Value プロパティが null です。

CacheItemPolicy オブジェクトの絶対有効期限とスライド式有効期限の値の両方が、InfiniteAbsoluteExpiration および NoSlidingExpiration フィールドの既定値以外の値に設定されています。 MemoryCache クラスは、絶対有効期限と変化する有効期限の組み合わせに基づいて有効期限ポリシーを設定できません。 MemoryCache インスタンスを使用すると、1 つの有効期限の設定だけを明示的に設定できます。 他の有効期限設定は、InfiniteAbsoluteExpiration フィールドまたは NoSlidingExpiration フィールドに設定する必要があります。

SlidingExpiration プロパティは、Zero 未満の値が設定されています。

- または -

SlidingExpiration プロパティが、1 年よりも大きな値に設定されています。

- または -

Priority プロパティが、CacheItemPriority 列挙体の値ではありません。

注釈

パラメーターは item 、 メソッドで使用されるキーと値を提供します。 キャッシュに パラメーターのキーと同じキー item を持つキャッシュ エントリがある場合、 メソッドは既存のエントリを CacheItem インスタンスとして返します。 既存のキャッシュ エントリがない場合、 メソッドは、 パラメーターで指定されたキーと値を使用し、 で item 指定された削除の詳細を使用して policy新しいキャッシュ エントリを作成します。

警告

Add および AddOrGetExisting メソッドのオーバーロードは、UpdateCallback プロパティをサポートしません。 したがって、キャッシュ エントリについて UpdateCallback プロパティを設定するのには、Set メソッド オーバーロードを代わりに使用します。

適用対象

AddOrGetExisting(String, Object, DateTimeOffset, String)

ソース:
MemoryCache.cs
ソース:
MemoryCache.cs
ソース:
MemoryCache.cs
ソース:
MemoryCache.cs
ソース:
MemoryCache.cs

指定したキーと値および絶対有効期限の値を使用して、キャッシュ エントリをキャッシュに追加します。

public override object AddOrGetExisting (string key, object value, DateTimeOffset absoluteExpiration, string regionName = default);
override this.AddOrGetExisting : string * obj * DateTimeOffset * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, absoluteExpiration As DateTimeOffset, Optional regionName As String = Nothing) As Object

パラメーター

key
String

追加するキャッシュ エントリの一意の識別子。

value
Object

キャッシュ エントリのデータ。

absoluteExpiration
DateTimeOffset

キャッシュ エントリの有効期限が切れる固定日時。

regionName
String

キャッシュ エントリを追加できるキャッシュ内の名前付き領域。 このパラメーターには値を渡さないでください。 MemoryCache クラスは領域を実装しないため、このパラメーターは既定で null です。

戻り値

同じキーを持つキャッシュ エントリが存在する場合は、既存のキャッシュ エントリ。それ以外の場合は null

例外

valuenull ではありません。

regionNamenull ではありません。

CacheItemPolicy オブジェクトの絶対有効期限とスライド式有効期限の値の両方が、InfiniteAbsoluteExpiration および NoSlidingExpiration フィールドの既定値以外の値に設定されています。 MemoryCache クラスは、絶対有効期限と変化する有効期限の組み合わせに基づいて有効期限ポリシーを設定できません。 MemoryCache インスタンスを使用すると、1 つの有効期限の設定だけを明示的に設定できます。 他の有効期限設定は、InfiniteAbsoluteExpiration または NoSlidingExpiration に設定する必要があります。

SlidingExpiration プロパティは、Zero 未満の値が設定されています。

- または -

SlidingExpiration プロパティが、1 年よりも大きな値に設定されています。

- または -

Priority プロパティが、CacheItemPriority 列挙体の値ではありません。

注釈

キャッシュに、キーが パラメーターと一致 key するキャッシュ エントリがない場合は、新しいキャッシュ エントリが作成され、メソッドの MemoryCache.AddOrGetExisting オーバーロードは を返します null。 一致するキャッシュ エントリが存在する場合は、既存のエントリが返されます。

警告

Add および AddOrGetExisting メソッドのオーバーロードは、UpdateCallback プロパティをサポートしません。 したがって、キャッシュ エントリについて UpdateCallback プロパティを設定するのには、Set メソッド オーバーロードを代わりに使用します。

適用対象

AddOrGetExisting(String, Object, CacheItemPolicy, String)

ソース:
MemoryCache.cs
ソース:
MemoryCache.cs
ソース:
MemoryCache.cs
ソース:
MemoryCache.cs
ソース:
MemoryCache.cs

指定したキーと値およびキャッシュ エントリの削除方法の詳細を使用して、キャッシュ エントリをキャッシュに挿入します。

public override object AddOrGetExisting (string key, object value, System.Runtime.Caching.CacheItemPolicy policy, string regionName = default);
override this.AddOrGetExisting : string * obj * System.Runtime.Caching.CacheItemPolicy * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, policy As CacheItemPolicy, Optional regionName As String = Nothing) As Object

パラメーター

key
String

追加または取得するキャッシュ エントリの一意の識別子。

value
Object

キャッシュ エントリのデータ。

policy
CacheItemPolicy

キャッシュ エントリの削除の詳細を格納しているオブジェクト。 このオブジェクトは、単純な絶対有効期限よりも多くの削除オプションを提供します。

regionName
String

キャッシュ エントリを追加できるキャッシュ内の名前付き領域。 このパラメーターには値を渡さないでください。 MemoryCache クラスは領域を実装しないため、このパラメーターは既定で null です。

戻り値

一致するキャッシュ エントリが既に存在する場合は、キャッシュ エントリ。それ以外の場合は null

例外

valuenullです。

CacheItemPolicy オブジェクトの絶対有効期限とスライド式有効期限の値の両方が、InfiniteAbsoluteExpirationNoSlidingExpiration の既定値以外の値に設定されています。 MemoryCache クラスは、絶対有効期限と変化する有効期限の両方の組み合わせに基づいて有効期限ポリシーを設定できません。 MemoryCache クラスを使用すると、1 つの有効期限の設定だけを明示的に設定できます。 他の設定は、InfiniteAbsoluteExpiration または NoSlidingExpiration に設定する必要があります。

- または -

削除コールバックと更新コールバックの両方が CacheItemPolicy に対して指定されています。 MemoryCache は、キャッシュ エントリごとに 1 つの種類のコールバックを使用することのみをサポートしています。

SlidingExpiration プロパティは、Zero 未満の値が設定されています。

- または -

SlidingExpiration が、1 年よりも大きな値に設定されています。

- または -

Priority プロパティが、CacheItemPriority 列挙体の値ではありません。

注釈

警告

Add および AddOrGetExisting メソッドのオーバーロードは、UpdateCallback プロパティをサポートしません。 したがって、キャッシュ エントリについて UpdateCallback プロパティを設定するのには、Set メソッド オーバーロードを代わりに使用します。

適用対象