WorkflowInstance.EnqueueItem Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Envía un mensaje a la cola de flujo de trabajo especificada de forma sincrónica.
public:
void EnqueueItem(IComparable ^ queueName, System::Object ^ item, System::Workflow::Runtime::IPendingWork ^ pendingWork, System::Object ^ workItem);
public void EnqueueItem(IComparable queueName, object item, System.Workflow.Runtime.IPendingWork pendingWork, object workItem);
member this.EnqueueItem : IComparable * obj * System.Workflow.Runtime.IPendingWork * obj -> unit
Public Sub EnqueueItem (queueName As IComparable, item As Object, pendingWork As IPendingWork, workItem As Object)
Parámetros
- queueName
- IComparable
El nombre del WorkflowQueue.
- item
- Object
Objeto que se va a poner en cola.
- pendingWork
- IPendingWork
que IPendingWork permite que el remitente se notifique cuando item se entregue.
- workItem
- Object
Objeto que se va a pasar a los IPendingWork métodos.
Excepciones
queueName es una referencia nula (Nothing en Visual Basic).
El motor en tiempo de ejecución de flujo de trabajo no se está ejecutando.
O bien
El WorkflowQueue especificado por queueName no existe.
O bien
El WorkflowQueue especificado por queueName no está habilitado.
Comentarios
Envía al item objeto especificado WorkflowQueue. Si desea recibir una notificación cuando se entregue el mensaje, puede implementar IPendingWork en el servicio y pasar un workItem objeto y IPendingWork a EnqueueItem. Si no desea dicha notificación, puede pasar una referencia nula (Nothing en Visual Basic) para pendingWork y workItem.
Al usar este método con un flujo de trabajo de máquina de estado, es posible que obtenga una excepción con el mensaje "Cola '{0}' no está habilitada". Esto sucede cuando el estado actual de la máquina de estado no sabe cómo controlar un evento específico. Por ejemplo, cuando algún estado distinto del estado actual contiene que contiene el EventDrivenActivityHandleExternalEventActivity objeto representado por la cola "{0}".
Note
No se garantiza que la instancia de flujo de trabajo reciba los mensajes en el orden en que se enviaron. Por ejemplo, si recibe un mensaje en una cola existente (cola A) hace que un flujo de trabajo cree otra cola (cola B), que luego escucha otro mensaje enviado después del primer mensaje, es posible que el segundo mensaje llegue primero y no se recibirá debido a que su cola aún no se crea. Para evitar este problema, no se debe enviar el segundo mensaje hasta que se compruebe la presencia de la segunda cola (mediante GetWorkflowQueueData).