Udostępnij za pośrednictwem


WorkflowQueue Klasa

Definicja

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>)
Przestarzałe.

Rejestruje subskrybenta zdarzenia QueueItemAvailable .

RegisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>, String)
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 .

Dotyczy

Zobacz też