次の方法で共有


IReliableQueue<T>.EnqueueAsync メソッド

定義

オーバーロード

EnqueueAsync(ITransaction, T)

信頼できるキューの末尾に オブジェクトを追加します。

EnqueueAsync(ITransaction, T, TimeSpan, CancellationToken)

信頼できるキューの末尾に オブジェクトを追加します。

EnqueueAsync(ITransaction, T)

信頼できるキューの末尾に オブジェクトを追加します。

public System.Threading.Tasks.Task EnqueueAsync (Microsoft.ServiceFabric.Data.ITransaction tx, T item);
abstract member EnqueueAsync : Microsoft.ServiceFabric.Data.ITransaction * 'T -> System.Threading.Tasks.Task
Public Function EnqueueAsync (tx As ITransaction, item As T) As Task

パラメーター

tx
ITransaction

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

item
T

キューの末尾に追加するオブジェクト。 参照型の場合は、値を null にできます。

戻り値

非同期エンキュー操作を表すタスク。

例外

tx が null です。

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

が にない場合にスローされる例外。

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

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

注釈

このメソッドによって再トリガー可能な例外がスローされた場合は、トランザクションを破棄して、新しいトランザクション tx で再試行することをお勧めします。

適用対象

EnqueueAsync(ITransaction, T, TimeSpan, CancellationToken)

信頼できるキューの末尾に オブジェクトを追加します。

public System.Threading.Tasks.Task EnqueueAsync (Microsoft.ServiceFabric.Data.ITransaction tx, T item, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
abstract member EnqueueAsync : Microsoft.ServiceFabric.Data.ITransaction * 'T * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function EnqueueAsync (tx As ITransaction, item As T, timeout As TimeSpan, cancellationToken As CancellationToken) As Task

パラメーター

tx
ITransaction

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

item
T

キューの末尾に追加するオブジェクト。 参照型の場合は、値を null にできます。

timeout
TimeSpan

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

cancellationToken
CancellationToken

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

戻り値

非同期エンキュー操作を表すタスク。

例外

tx が null です。

timeout が負の値です。

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

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

が にない場合にスローされる例外。

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

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

注釈

このメソッドによって再トリガー可能な例外がスローされた場合は、トランザクションを破棄して、新しいトランザクション tx で再試行することをお勧めします。

適用対象