MemoryCache.Set メソッド

定義

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

オーバーロード

Set(CacheItem, CacheItemPolicy)

キャッシュ エントリのキーと値を指定するために CacheItem インスタンスを使用して、キャッシュ エントリをキャッシュに挿入します。

Set(String, Object, DateTimeOffset, String)

キーと値を使用してキャッシュ エントリをキャッシュに挿入し、時間ベースの有効期限の詳細を指定します。

Set(String, Object, CacheItemPolicy, String)

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

注釈

指定したエントリが存在しない場合は、作成されます。 指定したエントリが存在する場合は、更新されます。

Set(CacheItem, CacheItemPolicy)

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

キャッシュ エントリのキーと値を指定するために CacheItem インスタンスを使用して、キャッシュ エントリをキャッシュに挿入します。

public:
 override void Set(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override void Set (System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.Set : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> unit
Public Overrides Sub Set (item As CacheItem, policy As CacheItemPolicy)

パラメーター

item
CacheItem

挿入するキャッシュ エントリを表すオブジェクト。

policy
CacheItemPolicy

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

例外

itemnull です。

- または -

Key プロパティが null です。

- または -

Value プロパティが null です。

キャッシュ エントリの無効な組み合わせの引数が渡されました。 これは、次の有効期限に関する詳細がキャッシュ エントリのポリシー オブジェクトで設定されている場合に発生します。

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

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

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

- または -

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

- または -

PriorityCacheItemPriority 列挙体の値ではありません。

注釈

他の Set メソッド オーバーロードと同様に、 Set メソッドは、同じキーを持つエントリが既に存在するかどうかに関係なく、常にキャッシュ値をキャッシュに格納します。 指定したエントリがキャッシュに存在しない場合は、新しいキャッシュ エントリが挿入されます。 指定したエントリが既に存在する場合は、その値が更新されます。

適用対象

Set(String, Object, DateTimeOffset, String)

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

キーと値を使用してキャッシュ エントリをキャッシュに挿入し、時間ベースの有効期限の詳細を指定します。

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

パラメーター

key
String

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

value
Object

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

absoluteExpiration
DateTimeOffset

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

regionName
String

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

例外

regionNamenull ではありません。

keynullです。

または

Valuenull です。

  • キャッシュ エントリの無効な組み合わせの引数が渡されました。 これは、次の有効期限に関する詳細がキャッシュ エントリのポリシー オブジェクトで設定されている場合に発生します。

  • CacheItemPolicy オブジェクトの絶対有効期限とスライド式有効期限の値の両方が、InfiniteAbsoluteExpirationNoSlidingExpiration の既定値以外の値に設定されている場合。 これは、MemoryCache クラスが絶対有効期限と変化する有効期限の両方に基づいて有効期限の切れたエントリをサポートしていないため発生します。 MemoryCache クラスを使用すると、1 つの有効期限の設定だけを明示的に設定できます。 他の設定は、InfiniteAbsoluteExpiration または NoSlidingExpiration に設定する必要があります。

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

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

- または -

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

- または -

注釈

他の Set メソッド オーバーロードと同様に、 Set メソッドは、同じキーを持つエントリが既に存在するかどうかに関係なく、常にキャッシュ値をキャッシュに格納します。 指定したエントリが存在しない場合は、新しいキャッシュ エントリが挿入されます。 指定したエントリが存在する場合は、更新されます。

パラメーターは absoluteExpiration 、エントリをキャッシュから削除するタイミングを示します。

エントリを削除すると、関連付けられている変更モニターがトリガーされます。 削除された項目がオブジェクトまたはCacheItemRemovedCallbackオブジェクトに関連付CacheItemUpdateCallbackけられている場合、コールバックに渡される削除の理由は プロパティにRemoved含まれます。

適用対象

Set(String, Object, CacheItemPolicy, String)

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

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

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

パラメーター

key
String

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

value
Object

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

policy
CacheItemPolicy

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

regionName
String

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

例外

keynull です。

- または -

valuenull です

- または -

UpdateCallback プロパティでヘルパー メソッドに渡されたコールバック参照は null です。

  • キャッシュ エントリの無効な組み合わせの引数が存在します。 これは、次の有効期限に関する詳細がキャッシュ エントリのポリシー オブジェクトで設定されている場合に発生します。

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

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

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

- または -

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

- または -

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

regionNamenull ではありません。

注釈

他の Set メソッド オーバーロードと同様に、 メソッドは Set 、一致するエントリが既に存在するかどうかに関係なく、常にキャッシュ値をキャッシュに格納します。 指定したエントリがキャッシュに存在しない場合は、新しいキャッシュ エントリが挿入されます。 指定したエントリが存在する場合は、更新されます。

エントリを削除すると、関連付けられている変更モニターがトリガーされます。 削除された項目がオブジェクトまたはCacheItemRemovedCallbackオブジェクトに関連付CacheItemUpdateCallbackけられている場合、コールバックに渡される削除の理由は プロパティにRemoved含まれます。

適用対象