WorkflowQueue Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przestroga
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Reprezentuje kolejkę przepływu pracy.
public ref class WorkflowQueue
public class WorkflowQueue
[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public class WorkflowQueue
type WorkflowQueue = class
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type WorkflowQueue = class
Public Class WorkflowQueue
- Dziedziczenie
-
WorkflowQueue
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak można utworzyć klasę WorkflowQueue , wywołując metodę WorkflowQueuingService.GetWorkflowQueue . Używa również właściwości , Count aby określić, czy jakiekolwiek komunikaty istnieją w bieżącej kolejce. Na koniec kod używa Dequeue metody , aby usunąć i zwrócić pierwszy obiekt w kolejce.
Ten przykład kodu jest częścią przykładowego zestawu SDK działania obserwatora plików z pliku FileSystemEvent.cs. Aby uzyskać więcej informacji, zobacz Działanie obserwatora systemu plików.
private bool ProcessQueueItem(ActivityExecutionContext context)
{
WorkflowQueuingService qService = context.GetService<WorkflowQueuingService>();
if (!qService.Exists(this.QueueName))
{
return false;
}
WorkflowQueue queue = qService.GetWorkflowQueue(this.QueueName);
// If the queue has messages, then process the first one
if (queue.Count == 0)
{
return false;
}
FileWatcherEventArgs e = (FileWatcherEventArgs)queue.Dequeue();
// Raise the FileSystemEvent
base.RaiseGenericEvent<FileWatcherEventArgs>(FileSystemEvent.FileWatcherEventHandlerEvent, this, e);
DoUnsubscribe(context, this);
DeleteQueue(context);
return true;
}
Private Function ProcessQueueItem(ByVal context As ActivityExecutionContext) As Boolean
Dim qService As WorkflowQueuingService = context.GetService(Of WorkflowQueuingService)()
If Not qService.Exists(Me.QueueName) Then
Return False
End If
Dim Queue As WorkflowQueue = qService.GetWorkflowQueue(Me.QueueName)
' If the queue has messages, then process the first one
If Queue.Count = 0 Then
Return False
End If
Dim e As FileWatcherEventArgs = CType(Queue.Dequeue(), FileWatcherEventArgs)
' Raise the FileSystemEvent
MyBase.RaiseGenericEvent(Of FileWatcherEventArgs)(FileSystemEvent.FileWatcherEventHandlerEvent, Me, e)
DoUnsubscribe(context, Me)
DeleteQueue(context)
Return True
End Function
Uwagi
Uwaga
W tym materiale omówiono przestarzałe typy i przestrzenie nazw. Aby uzyskać więcej informacji, zobacz Przestarzałe typy w programie Windows Workflow Foundation 4.5.
Kolejki przepływów pracy służą do przekazywania komunikatów między hostem lub usługami hosta i działaniami w przepływie pracy. Każde działanie może utworzyć obiekt WorkflowQueue , wywołując WorkflowQueuingService.CreateWorkflowQueueelement , i host, usługę lub inne działanie, które może wywołać Enqueue , aby dodać element do tego WorkflowQueueelementu . Możesz subskrybować QueueItemAvailable zdarzenie, aby otrzymywać powiadomienia o nadejściu elementu w obiekcie WorkflowQueue. Możesz użyć Peek polecenia , aby sprawdzić element na początku WorkflowQueue elementu i Dequeue usunąć element z elementu WorkflowQueue. Każda z nich WorkflowQueue jest skojarzona z elementem WorkflowQueuingService , którego można użyć do wykonywania innych operacji zarządzania w obiekcie WorkflowQueue, takich jak usuwanie kolejki. QueuingService uwidacznia WorkflowQueuingService skojarzone z tym WorkflowQueueelementem .
Właściwości
Count |
Przestarzałe.
Pobiera liczbę elementów zawartych w elemecie WorkflowQueue. |
Enabled |
Przestarzałe.
Pobiera lub ustawia wartość określającą, czy WorkflowQueue jest włączona. |
QueueName |
Przestarzałe.
Pobiera nazwę kolejki przepływu pracy. |
QueuingService |
Przestarzałe.
Pobiera usługę kolejkowania skojarzona z tym WorkflowQueueelementem . |
Metody
Dequeue() |
Przestarzałe.
Usuwa i zwraca obiekt na początku obiektu WorkflowQueue. |
Enqueue(Object) |
Przestarzałe.
Dodaje obiekt na końcu obiektu WorkflowQueue. |
Equals(Object) |
Przestarzałe.
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Przestarzałe.
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Przestarzałe.
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Przestarzałe.
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
Peek() |
Przestarzałe.
Zwraca obiekt na początku WorkflowQueue obiektu bez jego usunięcia. |
RegisterForQueueItemArrived(IActivityEventListener<QueueEventArgs>) |
Przestarzałe.
Rejestruje subskrybenta zdarzenia QueueItemArrived . |
RegisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>, String) |
Przestarzałe.
Rejestruje subskrybenta zdarzenia QueueItemAvailable . |
RegisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>) |
Przestarzałe.
Rejestruje subskrybenta zdarzenia QueueItemAvailable . |
ToString() |
Przestarzałe.
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
UnregisterForQueueItemArrived(IActivityEventListener<QueueEventArgs>) |
Przestarzałe.
Wyrejestrowuje subskrybenta zdarzenia QueueItemArrived . |
UnregisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>) |
Przestarzałe.
Wyrejestrowuje subskrybenta zdarzenia QueueItemAvailable . |
Zdarzenia
QueueItemArrived |
Przestarzałe.
Występuje, gdy element jest dostarczany w tym WorkflowQueueelemencie . |
QueueItemAvailable |
Przestarzałe.
Występuje, gdy element jest dostępny w tym WorkflowQueueelemencie . |