次の方法で共有


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

定義

オーバーロード

GetOrAddAsync(ITransaction, TKey, TValue, TimeSpan, CancellationToken)

キーがまだ存在しない場合は、キーと値のペアを Reliable Dictionary に追加します。

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

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

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

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

GetOrAddAsync(ITransaction, TKey, TValue)

キーがまだ存在しない場合は、キーと値のペアを Reliable Dictionary に追加します。 キーが存在する場合、値に対する更新は行われません。

GetOrAddAsync(ITransaction, TKey, TValue, TimeSpan, CancellationToken)

キーがまだ存在しない場合は、キーと値のペアを Reliable Dictionary に追加します。

public System.Threading.Tasks.Task<TValue> GetOrAddAsync (Microsoft.ServiceFabric.Data.ITransaction tx, TKey key, TValue value, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * 'Key * 'Value * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Value>
Public Function GetOrAddAsync (tx As ITransaction, key As TKey, value As TValue, timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of TValue)

パラメーター

tx
ITransaction

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

key
TKey

追加する要素のキー。

value
TValue

キーがまだ存在しない場合に追加する値。

timeout
TimeSpan

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

cancellationToken
CancellationToken

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

戻り値

Task<TValue>

非同期の追加操作を表すタスク。 タスクの結果は、キーの値です。 これは、キーが既に Reliable Dictionary にある場合はキーの既存の値、またはキーが Reliable Dictionary に存在しない場合は新しい値になります。

例外

tx が null であるか、null key であるか、シリアル化できません。

timeout が負の値です。

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

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

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

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

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

Reliable Dictionary が閉じられたり削除されたりすることを示します。

適用対象

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

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

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

パラメーター

tx
ITransaction

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

key
TKey

追加する要素のキー。

valueFactory
Func<TKey,TValue>

キーの値を生成するために使用される関数。

timeout
TimeSpan

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

cancellationToken
CancellationToken

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

戻り値

Task<TValue>

非同期の追加操作を表すタスク。 タスクの結果は、キーの値です。 これは、キーが既に Reliable Dictionary にある場合はキーの既存の値、またはキーが Reliable Dictionary にない場合は valueFactory によって返されるキーの新しい値になります。

例外

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

timeout が負の値です。

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

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

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

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

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

Reliable Dictionary が閉じられたり削除されたりすることを示します。

適用対象

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

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

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

パラメーター

tx
ITransaction

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

key
TKey

追加する要素のキー。

valueFactory
Func<TKey,TValue>

キーの値を生成するために使用される関数。

戻り値

Task<TValue>

非同期の追加操作を表すタスク。 タスクの結果は、キーの値です。 これは、キーが既に Reliable Dictionary にある場合はキーの既存の値、またはキーが Reliable Dictionary にない場合は valueFactory によって返されるキーの新しい値になります。

例外

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

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

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

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

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

Reliable Dictionary が閉じられたり削除されたりすることを示します。

適用対象

GetOrAddAsync(ITransaction, TKey, TValue)

キーがまだ存在しない場合は、キーと値のペアを Reliable Dictionary に追加します。 キーが存在する場合、値に対する更新は行われません。

public System.Threading.Tasks.Task<TValue> GetOrAddAsync (Microsoft.ServiceFabric.Data.ITransaction tx, TKey key, TValue value);
abstract member GetOrAddAsync : Microsoft.ServiceFabric.Data.ITransaction * 'Key * 'Value -> System.Threading.Tasks.Task<'Value>
Public Function GetOrAddAsync (tx As ITransaction, key As TKey, value As TValue) As Task(Of TValue)

パラメーター

tx
ITransaction

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

key
TKey

追加する要素のキー。

value
TValue

キーがまだ存在しない場合に追加する値。

戻り値

Task<TValue>

非同期の追加操作を表すタスク。 タスクの結果は、キーの値です。 これは、キーが既に Reliable Dictionary にある場合はキーの既存の値、またはキーが Reliable Dictionary に存在しない場合は新しい値になります。

例外

tx が null であるか、null key であるか、シリアル化できません。

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

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

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

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

Reliable Dictionary が閉じられたり削除されたりすることを示します。

適用対象