次の方法で共有


IReliableQueue<T>.TryDequeueAsync メソッド

定義

オーバーロード

TryDequeueAsync(ITransaction)

信頼できるキューの先頭で オブジェクトの削除と取得を試みます。

TryDequeueAsync(ITransaction, TimeSpan, CancellationToken)

信頼できるキューの先頭で オブジェクトの削除と取得を試みます。

TryDequeueAsync(ITransaction)

信頼できるキューの先頭で オブジェクトの削除と取得を試みます。

public System.Threading.Tasks.Task<Microsoft.ServiceFabric.Data.ConditionalValue<T>> TryDequeueAsync (Microsoft.ServiceFabric.Data.ITransaction tx);
abstract member TryDequeueAsync : Microsoft.ServiceFabric.Data.ITransaction -> System.Threading.Tasks.Task<Microsoft.ServiceFabric.Data.ConditionalValue<'T>>
Public Function TryDequeueAsync (tx As ITransaction) As Task(Of ConditionalValue(Of T))

パラメーター

tx
ITransaction

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

戻り値

非同期デキュー操作を表すタスク。 タスクの結果は、オブジェクトが削除されたかどうかを示すタプルであり、削除された場合は オブジェクトです。

例外

tx が null です。

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

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

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

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

注釈

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

適用対象

TryDequeueAsync(ITransaction, TimeSpan, CancellationToken)

信頼できるキューの先頭で オブジェクトの削除と取得を試みます。

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

パラメーター

tx
ITransaction

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

timeout
TimeSpan

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

cancellationToken
CancellationToken

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

戻り値

非同期デキュー操作を表すタスク。 タスクの結果は、オブジェクトが削除されたかどうかを示すタプルであり、削除された場合は オブジェクトです。

例外

tx が null です。

timeout が負の値です。

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

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

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

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

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

注釈

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

適用対象