WorkflowQueue.Count Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém o número de itens contidos no WorkflowQueue.
public:
property int Count { int get(); };
public int Count { get; }
member this.Count : int
Public ReadOnly Property Count As Integer
Valor da propriedade
O número de itens na fila de fluxo de trabalho.
Exemplos
O exemplo de código a seguir demonstra como você pode criar um WorkflowQueue chamando o WorkflowQueuingService.GetWorkflowQueue método . Ele também usa a Count propriedade para determinar se existem mensagens na fila atual. Por fim, o código usa o Dequeue método para remover e retornar o primeiro objeto na fila.
Este exemplo de código faz parte do Exemplo de SDK de Atividade do Observador de Arquivos do arquivo FileSystemEvent.cs. Para obter mais informações, consulte Atividade do Observador do Sistema de Arquivos.
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