IReliableDictionary<TKey,TValue>.AddOrUpdateAsync メソッド

定義

オーバーロード

AddOrUpdateAsync(ITransaction, TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>)

指定した関数を使用して、キーがまだ存在しない場合は Reliable Dictionary にキーと値のペアを追加し、キーが既に存在する場合は Reliable Dictionary のキーと値のペアを更新します。

AddOrUpdateAsync(ITransaction, TKey, TValue, Func<TKey,TValue,TValue>)

キーがまだ存在しない場合は、Reliable Dictionary にキーと値のペアを追加するか、キーが既に存在する場合は、指定した関数を使用して Reliable Dictionary 内のキーと値のペアを更新します。

AddOrUpdateAsync(ITransaction, TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>, TimeSpan, CancellationToken)

指定した関数を使用して、キーがまだ存在しない場合は Reliable Dictionary にキーと値のペアを追加し、キーが既に存在する場合は Reliable Dictionary のキーと値のペアを更新します。

AddOrUpdateAsync(ITransaction, TKey, TValue, Func<TKey,TValue,TValue>, TimeSpan, CancellationToken)

キーがまだ存在しない場合は、Reliable Dictionary にキーと値のペアを追加するか、キーが既に存在する場合は、指定した関数を使用して Reliable Dictionary 内のキーと値のペアを更新します。

AddOrUpdateAsync(ITransaction, TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>)

指定した関数を使用して、キーがまだ存在しない場合は Reliable Dictionary にキーと値のペアを追加し、キーが既に存在する場合は Reliable Dictionary のキーと値のペアを更新します。

public System.Threading.Tasks.Task<TValue> AddOrUpdateAsync (Microsoft.ServiceFabric.Data.ITransaction tx, TKey key, Func<TKey,TValue> addValueFactory, Func<TKey,TValue,TValue> updateValueFactory);
abstract member AddOrUpdateAsync : Microsoft.ServiceFabric.Data.ITransaction * 'Key * Func<'Key, 'Value (requires 'Key :> IComparable<'Key> and 'Key :> IEquatable<'Key>)> * Func<'Key, 'Value, 'Value (requires 'Key :> IComparable<'Key> and 'Key :> IEquatable<'Key>)> -> System.Threading.Tasks.Task<'Value>
Public Function AddOrUpdateAsync (tx As ITransaction, key As TKey, addValueFactory As Func(Of TKey, TValue), updateValueFactory As Func(Of TKey, TValue, TValue)) As Task(Of TValue)

パラメーター

tx
ITransaction

この操作を関連付けるトランザクション。

key
TKey

追加するキーまたは値を更新するキー。

addValueFactory
Func<TKey,TValue>

キーが存在しない場合に、値を生成するために使用される関数。

updateValueFactory
Func<TKey,TValue,TValue>

キーの既存の値に基づいて、既存のキーの新しい値を生成するために使用される関数。

戻り値

Task<TValue>

非同期の追加または更新操作を表すタスク。 タスクの結果は、キーの新しい値です。 これは、addValueFactory の結果 (キーが存在しない場合) または updateValueFactory の結果 (キーが存在する場合) のいずれかになります。

例外

tx が null であるか、 key null であるか、シリアル化できないか addValueFactory 、null であるか、null updateValueFactory です。

既定のタイムアウト内に操作を完了できませんでした。

が 内Primaryにない場合にIReliableDictionary<TKey,TValue>スローされる例外。

トランザクションは、システムによって内部的に障害が発生しました。 新しいトランザクションで操作を再試行する

オブジェクトの現在の状態に対してメソッド呼び出しが無効な場合にスローされます。 たとえば、使用されているトランザクションは既に終了しています。コミットまたは中止されます。 この例外がスローされた場合、トランザクションの使用に関するサービス コードにバグがある可能性が高くなります。

Reliable Dictionary が閉じているか削除されていることを示します。

適用対象

AddOrUpdateAsync(ITransaction, TKey, TValue, Func<TKey,TValue,TValue>)

キーがまだ存在しない場合は、Reliable Dictionary にキーと値のペアを追加するか、キーが既に存在する場合は、指定した関数を使用して Reliable Dictionary 内のキーと値のペアを更新します。

public System.Threading.Tasks.Task<TValue> AddOrUpdateAsync (Microsoft.ServiceFabric.Data.ITransaction tx, TKey key, TValue addValue, Func<TKey,TValue,TValue> updateValueFactory);
abstract member AddOrUpdateAsync : Microsoft.ServiceFabric.Data.ITransaction * 'Key * 'Value * Func<'Key, 'Value, 'Value (requires 'Key :> IComparable<'Key> and 'Key :> IEquatable<'Key>)> -> System.Threading.Tasks.Task<'Value>
Public Function AddOrUpdateAsync (tx As ITransaction, key As TKey, addValue As TValue, updateValueFactory As Func(Of TKey, TValue, TValue)) As Task(Of TValue)

パラメーター

tx
ITransaction

この操作を関連付けるトランザクション。

key
TKey

追加するキーまたは値を更新するキー。

addValue
TValue

存在しないキーに対して追加する値。 参照型の場合は、値を null にできます。

updateValueFactory
Func<TKey,TValue,TValue>

キーの既存の値に基づいて、既存のキーの新しい値を生成するために使用される関数。

戻り値

Task<TValue>

非同期の追加または更新操作を表すタスク。 タスクの結果は、キーの新しい値です。 これは、addValue (キーが存在しない場合) または updateValueFactory の結果 (キーが存在する場合) のいずれかになります。

例外

tx が null であるか key 、null であるか、シリアル化できないか、null updateValueFactory です。

既定のタイムアウト内に操作を完了できませんでした。

が 内Primaryにない場合にIReliableDictionary<TKey,TValue>スローされる例外。

トランザクションは、システムによって内部的に障害が発生しました。 新しいトランザクションで操作を再試行する

オブジェクトの現在の状態に対してメソッド呼び出しが無効な場合にスローされます。 たとえば、使用されているトランザクションは既に終了しています。コミットまたは中止されます。 この例外がスローされた場合、トランザクションの使用に関するサービス コードにバグがある可能性が高くなります。

Reliable Dictionary が閉じているか削除されていることを示します。

適用対象

AddOrUpdateAsync(ITransaction, TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>, TimeSpan, CancellationToken)

指定した関数を使用して、キーがまだ存在しない場合は Reliable Dictionary にキーと値のペアを追加し、キーが既に存在する場合は Reliable Dictionary のキーと値のペアを更新します。

public System.Threading.Tasks.Task<TValue> AddOrUpdateAsync (Microsoft.ServiceFabric.Data.ITransaction tx, TKey key, Func<TKey,TValue> addValueFactory, Func<TKey,TValue,TValue> updateValueFactory, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
abstract member AddOrUpdateAsync : Microsoft.ServiceFabric.Data.ITransaction * 'Key * Func<'Key, 'Value (requires 'Key :> IComparable<'Key> and 'Key :> IEquatable<'Key>)> * Func<'Key, 'Value, 'Value (requires 'Key :> IComparable<'Key> and 'Key :> IEquatable<'Key>)> * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Value>
Public Function AddOrUpdateAsync (tx As ITransaction, key As TKey, addValueFactory As Func(Of TKey, TValue), updateValueFactory As Func(Of TKey, TValue, TValue), timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of TValue)

パラメーター

tx
ITransaction

この操作を関連付けるトランザクション。

key
TKey

追加するキーまたは値を更新するキー。

addValueFactory
Func<TKey,TValue>

キーが存在しない場合に、値を生成するために使用される関数。

updateValueFactory
Func<TKey,TValue,TValue>

キーの既存の値に基づいて、既存のキーの新しい値を生成するために使用される関数。

timeout
TimeSpan

TimeoutException をスローするまでの操作の完了を待機する時間。 主にデッドロックを防ぐために使用されます。 既定値は 4 秒です。

cancellationToken
CancellationToken

キャンセル要求を監視するためのトークン。 既定値は None です。

戻り値

Task<TValue>

非同期の追加または更新操作を表すタスク。 タスクの結果は、キーの新しい値です。 これは、addValueFactory の結果 (キーが存在しない場合) または updateValueFactory の結果 (キーが存在する場合) のいずれかになります。

例外

tx が null であるか、 key null であるか、シリアル化できないか addValueFactory 、null であるか、null updateValueFactory です。

timeout が負の値です。

指定されたタイムアウト内に操作を完了できませんでした。

操作は取り消されました。

が 内Primaryにない場合にIReliableDictionary<TKey,TValue>スローされる例外。

トランザクションは、システムによって内部的に障害が発生しました。 新しいトランザクションで操作を再試行する

オブジェクトの現在の状態に対してメソッド呼び出しが無効な場合にスローされます。 たとえば、使用されているトランザクションは既に終了しています。コミットまたは中止されます。 この例外がスローされた場合、トランザクションの使用に関するサービス コードにバグがある可能性が高くなります。

Reliable Dictionary が閉じているか削除されていることを示します。

適用対象

AddOrUpdateAsync(ITransaction, TKey, TValue, Func<TKey,TValue,TValue>, TimeSpan, CancellationToken)

キーがまだ存在しない場合は、Reliable Dictionary にキーと値のペアを追加するか、キーが既に存在する場合は、指定した関数を使用して Reliable Dictionary 内のキーと値のペアを更新します。

public System.Threading.Tasks.Task<TValue> AddOrUpdateAsync (Microsoft.ServiceFabric.Data.ITransaction tx, TKey key, TValue addValue, Func<TKey,TValue,TValue> updateValueFactory, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
abstract member AddOrUpdateAsync : Microsoft.ServiceFabric.Data.ITransaction * 'Key * 'Value * Func<'Key, 'Value, 'Value (requires 'Key :> IComparable<'Key> and 'Key :> IEquatable<'Key>)> * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Value>
Public Function AddOrUpdateAsync (tx As ITransaction, key As TKey, addValue As TValue, updateValueFactory As Func(Of TKey, TValue, TValue), timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of TValue)

パラメーター

tx
ITransaction

この操作を関連付けるトランザクション。

key
TKey

追加するキーまたは値を更新するキー。

addValue
TValue

存在しないキーに対して追加する値。 参照型の場合は、値を null にできます。

updateValueFactory
Func<TKey,TValue,TValue>

キーの既存の値に基づいて、既存のキーの新しい値を生成するために使用される関数。

timeout
TimeSpan

TimeoutException をスローするまでの操作の完了を待機する時間。 主にデッドロックを防ぐために使用されます。 既定値は 4 秒です。

cancellationToken
CancellationToken

キャンセル要求を監視するためのトークン。 既定値は None です。

戻り値

Task<TValue>

非同期の追加または更新操作を表すタスク。 タスクの結果は、キーの新しい値です。 これは、addValue (キーが存在しない場合) または updateValueFactory の結果 (キーが存在する場合) のいずれかになります。

例外

tx が null であるか key 、null であるか、シリアル化できないか、null updateValueFactory です。

timeout が負の値です。

指定されたタイムアウト内に操作を完了できませんでした。

操作は取り消されました。

が 内Primaryにない場合にIReliableDictionary<TKey,TValue>スローされる例外。

トランザクションは、システムによって内部的に障害が発生しました。 新しいトランザクションで操作を再試行する

オブジェクトの現在の状態に対してメソッド呼び出しが無効な場合にスローされます。 たとえば、使用されているトランザクションは既に終了しています。コミットまたは中止されます。 この例外がスローされた場合、トランザクションの使用に関するサービス コードにバグがある可能性が高くなります。

Reliable Dictionary が閉じているか削除されていることを示します。

適用対象