Leggere in inglese

Condividi tramite


WorkflowQueue.Dequeue Metodo

Definizione

Consente di rimuovere e restituire l'oggetto all'inizio della WorkflowQueue.

C#
public object Dequeue();

Restituisce

Oggetto rimosso dall'inizio della WorkflowQueue .

Eccezioni

Esempio

Nell'esempio di codice seguente viene illustrato come creare una classe WorkflowQueue chiamando il metodo WorkflowQueuingService.GetWorkflowQueue. Viene inoltre utilizzata la proprietà Count per determinare se siano presenti messaggi nella coda corrente. Infine, il codice utilizza il metodo Dequeue per rimuovere e restituire il primo oggetto contenuto nella coda.

Questo esempio di codice fa parte dell'esempio SDK File Watcher Activity nel file FileSystemEvent.cs. Per altre informazioni, vedere Attività Watcher di File System.

C#
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;
}

Commenti

È possibile controllare Count per determinare se WorkflowQueue è vuota prima di chiamare Dequeue oppure è possibile intercettare InvalidOperationException.

Si applica a

Prodotto Versioni
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Vedi anche