WorkflowQueue Classe
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.
Attenzione
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Rappresenta una coda del flusso di lavoro.
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
- Ereditarietà
-
WorkflowQueue
- Attributi
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
Commenti
Nota
In questo materiale vengono descritti tipi e spazi dei nomi obsoleti. Per altre informazioni, vedere Deprecated Types in Windows Workflow Foundation 4.5 (Tipi deprecati in Windows Workflow Foundation 4.5).
Le code del flusso di lavoro vengono utilizzate per passare messaggi tra gli host o i servizi host e un attività in un flusso di lavoro. Qualsiasi attività può creare un oggetto WorkflowQueue chiamando il metodo WorkflowQueuingService.CreateWorkflowQueue e un host, un servizio o un'altra attività possono chiamare il metodo Enqueue per aggiungere un elemento a tale WorkflowQueue. È possibile sottoscrivere l'evento QueueItemAvailable per ricevere una notifica quando un elemento arriva in WorkflowQueue. È possibile utilizzare Peek per esaminare un elemento all'inizio di WorkflowQueue e Dequeue per rimuovere un elemento da WorkflowQueue. Ogni WorkflowQueue è associato a una classe WorkflowQueuingService che è possibile utilizzare per eseguire altre operazioni di gestione su WorkflowQueue, ad esempio l'eliminazione della coda. QueuingService espone il WorkflowQueuingService associato alla WorkflowQueue.
Proprietà
Count |
Obsoleti.
Ottiene il numero di elementi contenuti nella classe WorkflowQueue. |
Enabled |
Obsoleti.
Ottiene o imposta un valore che specifica se la classe WorkflowQueue è abilitata. |
QueueName |
Obsoleti.
Ottiene il nome della coda del flusso di lavoro. |
QueuingService |
Obsoleti.
Ottiene il servizio di accodamento associato a questa classe WorkflowQueue. |
Metodi
Dequeue() |
Obsoleti.
Consente di rimuovere e restituire l'oggetto all'inizio della WorkflowQueue. |
Enqueue(Object) |
Obsoleti.
Aggiunge un oggetto alla fine di WorkflowQueue. |
Equals(Object) |
Obsoleti.
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Obsoleti.
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Obsoleti.
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Obsoleti.
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
Peek() |
Obsoleti.
Restituisce l'oggetto all'inizio della WorkflowQueue senza rimuoverlo. |
RegisterForQueueItemArrived(IActivityEventListener<QueueEventArgs>) |
Obsoleti.
Registra un sottoscrittore per l'evento QueueItemArrived. |
RegisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>, String) |
Obsoleti.
Registra un sottoscrittore per l'evento QueueItemAvailable. |
RegisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>) |
Obsoleti.
Registra un sottoscrittore per l'evento QueueItemAvailable. |
ToString() |
Obsoleti.
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
UnregisterForQueueItemArrived(IActivityEventListener<QueueEventArgs>) |
Obsoleti.
Annulla la registrazione di un sottoscrittore per l'evento QueueItemArrived. |
UnregisterForQueueItemAvailable(IActivityEventListener<QueueEventArgs>) |
Obsoleti.
Annulla la registrazione di un sottoscrittore per l'evento QueueItemAvailable. |
Eventi
QueueItemArrived |
Obsoleti.
Si verifica quando un elemento viene recapitato su questa WorkflowQueue. |
QueueItemAvailable |
Obsoleti.
Si verifica quando un elemento è disponibile su WorkflowQueue. |