MemoryCache.AddOrGetExisting メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
キャッシュ エントリをキャッシュに挿入します。
オーバーロード
AddOrGetExisting(CacheItem, CacheItemPolicy) |
指定した CacheItem インスタンスおよびエントリの削除方法の詳細を使用して、キャッシュ エントリをキャッシュに追加します。 |
AddOrGetExisting(String, Object, DateTimeOffset, String) |
指定したキーと値および絶対有効期限の値を使用して、キャッシュ エントリをキャッシュに追加します。 |
AddOrGetExisting(String, Object, CacheItemPolicy, String) |
指定したキーと値およびキャッシュ エントリの削除方法の詳細を使用して、キャッシュ エントリをキャッシュに挿入します。 |
注釈
メソッドのオーバーロードは AddOrGetExisting 、キャッシュエントリをキャッシュに挿入するために使用されます。 一致するキーを持つキャッシュ エントリが存在しない場合、これらのメソッドは新しいエントリを挿入します。 一致するキーを持つキャッシュ エントリが既に存在する場合は、既存のエントリが返されます。
AddOrGetExisting(CacheItem, CacheItemPolicy)
- ソース:
- 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
指定したキーと値および絶対有効期限の値を使用して、キャッシュ エントリをキャッシュに追加します。
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
。
例外
value
が null
ではありません。
regionName
が null
ではありません。
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
指定したキーと値およびキャッシュ エントリの削除方法の詳細を使用して、キャッシュ エントリをキャッシュに挿入します。
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
。
例外
value
が null
です。
CacheItemPolicy オブジェクトの絶対有効期限とスライド式有効期限の値の両方が、InfiniteAbsoluteExpiration と NoSlidingExpiration の既定値以外の値に設定されています。 MemoryCache クラスは、絶対有効期限と変化する有効期限の両方の組み合わせに基づいて有効期限ポリシーを設定できません。 MemoryCache クラスを使用すると、1 つの有効期限の設定だけを明示的に設定できます。 他の設定は、InfiniteAbsoluteExpiration または NoSlidingExpiration に設定する必要があります。
- または -
削除コールバックと更新コールバックの両方が CacheItemPolicy に対して指定されています。 MemoryCache は、キャッシュ エントリごとに 1 つの種類のコールバックを使用することのみをサポートしています。
SlidingExpiration プロパティは、Zero 未満の値が設定されています。
- または -
SlidingExpiration が、1 年よりも大きな値に設定されています。
- または -
Priority プロパティが、CacheItemPriority 列挙体の値ではありません。
注釈
警告
Add および AddOrGetExisting メソッドのオーバーロードは、UpdateCallback プロパティをサポートしません。 したがって、キャッシュ エントリについて UpdateCallback プロパティを設定するのには、Set メソッド オーバーロードを代わりに使用します。
適用対象
.NET