WorkflowQueue.Count Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene il numero di elementi contenuti nella classe WorkflowQueue.
public:
property int Count { int get(); };
public int Count { get; }
member this.Count : int
Public ReadOnly Property Count As Integer
Valore della proprietà
Numero di elementi nella coda del flusso di lavoro.
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.
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