Freigeben über


IReliableQueue<T>.TryDequeueAsync Methode

Definition

Überlädt

TryDequeueAsync(ITransaction)

Versucht, das Objekt am Anfang der zuverlässigen Warteschlange zu entfernen und zurückzugeben.

TryDequeueAsync(ITransaction, TimeSpan, CancellationToken)

Versucht, das Objekt am Anfang der zuverlässigen Warteschlange zu entfernen und zurückzugeben.

TryDequeueAsync(ITransaction)

Versucht, das Objekt am Anfang der zuverlässigen Warteschlange zu entfernen und zurückzugeben.

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))

Parameter

tx
ITransaction

Transaktion, der dieser Vorgang zugeordnet werden soll.

Gibt zurück

Aufgabe, die den asynchronen Vorgang des Ausqueues darstellt. Das Aufgabenergebnis ist ein Tupel, das angibt, ob ein Objekt entfernt wurde, und wenn ja, das Objekt.

Ausnahmen

tx ist NULL.

Der Vorgang konnte innerhalb des Standardtimeouts nicht abgeschlossen werden.

Die Ausnahme, die ausgelöst wird, wenn der nicht in ist.

Die Transaktion wurde intern vom System fehlerhaft gemacht. Wiederholen des Vorgangs für eine neue Transaktion

Wird ausgelöst, wenn ein Methodenaufruf für den aktuellen Zustand des Objekts ungültig ist. Beispiel: Die verwendete Transaktion ist bereits beendet: vom Benutzer zugesagt oder abgebrochen. Wenn diese Ausnahme ausgelöst wird, ist es sehr wahrscheinlich, dass im Dienstcode der Verwendung von Transaktionen ein Fehler vorliegt.

Hinweise

Wenn von dieser Methode eine retriable Ausnahme ausgelöst wird, wird empfohlen, die Transaktion tx zu verwerfen und mit einer neuen Transaktion erneut zu versuchen.

Gilt für:

TryDequeueAsync(ITransaction, TimeSpan, CancellationToken)

Versucht, das Objekt am Anfang der zuverlässigen Warteschlange zu entfernen und zurückzugeben.

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))

Parameter

tx
ITransaction

Transaktion, der dieser Vorgang zugeordnet werden soll.

timeout
TimeSpan

Die Zeit, die gewartet werden muss, bis der Vorgang abgeschlossen ist, bevor eine TimeoutException ausgelöst wird. Wird in erster Linie verwendet, um Deadlocks zu verhindern. Der Standardwert ist 4 Sekunden.

cancellationToken
CancellationToken

Das Token zum Überwachen von Abbruchanforderungen. Der Standardwert ist „None“.

Gibt zurück

Aufgabe, die den asynchronen Vorgang des Ausqueues darstellt. Das Aufgabenergebnis ist ein Tupel, das angibt, ob ein Objekt entfernt wurde, und wenn ja, das Objekt.

Ausnahmen

tx ist NULL.

timeout ist ein negativer Wert.

Der Vorgang konnte innerhalb des angegebenen Timeouts nicht abgeschlossen werden.

Der Vorgang wurde abgebrochen.

Die Ausnahme, die ausgelöst wird, wenn der nicht in ist.

Die Transaktion wurde intern vom System fehlerhaft gemacht. Wiederholen des Vorgangs für eine neue Transaktion

Wird ausgelöst, wenn ein Methodenaufruf für den aktuellen Zustand des Objekts ungültig ist. Beispiel: Die verwendete Transaktion ist bereits beendet: vom Benutzer zugesagt oder abgebrochen. Wenn diese Ausnahme ausgelöst wird, ist es sehr wahrscheinlich, dass im Dienstcode der Verwendung von Transaktionen ein Fehler vorliegt.

Hinweise

Wenn von dieser Methode eine retriable Ausnahme ausgelöst wird, wird empfohlen, die Transaktion tx zu verwerfen und mit einer neuen Transaktion erneut zu versuchen.

Gilt für: