WorkflowQueue.Count Propriété

Définition

Obtient le nombre d'éléments contenus dans WorkflowQueue.

public:
 property int Count { int get(); };
public int Count { get; }
member this.Count : int
Public ReadOnly Property Count As Integer

Valeur de propriété

Nombre d'éléments situés dans la file d'attente du workflow.

Exemples

L'exemple de code suivant présente la création d'une WorkflowQueue en appelant la méthode WorkflowQueuingService.GetWorkflowQueue. Il utilise également la propriété Count pour déterminer si tous les messages existent dans la file d'attente actuelle. Enfin, le code utilise la méthode Dequeue pour supprimer et renvoyer le premier objet dans la file d'attente.

Cet exemple de code fait partie de l'exemple du Kit de développement logiciel File Watcher Activity (SDK) et provient du fichier FileSystemEvent.cs. Pour plus d’informations, consultez Activité de l’observateur du système de fichiers.

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

S’applique à

Voir aussi