WorkflowInstance.EnqueueItemOnIdle Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Publica uma mensagem na fila de workflow especificada quando o workflow está inativo. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) espera até que o fluxo de trabalho atinja um ponto de inatividade e entra em fila após verificar que o agendador de workflow está inativo (ou seja, que nenhuma operação ativa está a ser executada).
public:
void EnqueueItemOnIdle(IComparable ^ queueName, System::Object ^ item, System::Workflow::Runtime::IPendingWork ^ pendingWork, System::Object ^ workItem);
public void EnqueueItemOnIdle(IComparable queueName, object item, System.Workflow.Runtime.IPendingWork pendingWork, object workItem);
member this.EnqueueItemOnIdle : IComparable * obj * System.Workflow.Runtime.IPendingWork * obj -> unit
Public Sub EnqueueItemOnIdle (queueName As IComparable, item As Object, pendingWork As IPendingWork, workItem As Object)
Parâmetros
- queueName
- IComparable
O nome do WorkflowQueue.
- item
- Object
O objeto a enfileirar.
- pendingWork
- IPendingWork
E IPendingWork que permite que o remetente seja notificado quando item é entregue.
- workItem
- Object
Um objeto a ser passado para os IPendingWork métodos.
Exceções
queueName é uma referência nula (Nothing em Visual Basic).
O motor de execução de workflow não está a correr.
-ou-
A instância do fluxo de trabalho está suspensa.
-ou-
O WorkflowQueue especificado por queueName não existe.
-ou-
O WorkflowQueue especificado por queueName não está ativado.
Observações
Espera que a instância do fluxo de trabalho fique inativa e depois envia para item o especificado WorkflowQueue. Se chamar EnqueueItemOnIdle enquanto a instância do fluxo de trabalho está suspensa, o motor de execução do workflow irá lançar um InvalidOperationExceptionarquivo . Se quiser ser notificado quando a mensagem for entregue, pode implementar IPendingWork no seu serviço e passar um workItem e um IPendingWork objeto para EnqueueItem. Se não quiser essa notificação, pode passar uma referência nula (Nothing em Visual Basic) para pendingWork e workItem.
Quando utiliza este método com um fluxo de trabalho de máquina de estados, pode obter uma exceção que contém a mensagem "Queue"{0} não está ativada." Isto ocorre quando o estado atual da máquina de estados não sabe como lidar com um evento específico. Por exemplo, quando algum estado diferente do estado atual contém o EventDrivenActivity que contém o HandleExternalEventActivity que é representado pela fila '{0}'.