WorkflowInstance.EnqueueItemOnIdle Метод

Определение

Отправляет сообщение в указанную очередь рабочего процесса, когда рабочий процесс неактивен. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) ожидает, пока рабочий процесс не достигнет точки простоя и закрепится после проверки простоя планировщика рабочих процессов (т. е. не выполняется активная операция).

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)

Параметры

queueName
IComparable

Имя WorkflowQueue.

item
Object

Объект, который требуется заставить.

pendingWork
IPendingWork

Это IPendingWork позволяет отправителю получать уведомления при item доставке.

workItem
Object

Объект, передаваемый IPendingWork методам.

Исключения

queueName является пустой ссылкой (Nothing в Visual Basic).

Подсистема среды выполнения рабочего процесса не запущена.

–или–

Экземпляр рабочего процесса приостановлен.

–или–

Указанный WorkflowQueuequeueName параметр не существует.

–или–

Указанный WorkflowQueue параметр queueName не включен.

Комментарии

Ожидает, когда экземпляр рабочего процесса станет неактивным, а затем отправляет его item указанному WorkflowQueueэкземпляру. При вызове EnqueueItemOnIdle во время приостановки экземпляра рабочего процесса подсистема среды выполнения рабочего процесса вызовет InvalidOperationExceptionисключение. Если вы хотите получать уведомления при доставке сообщения, вы можете реализовать IPendingWork в службе и передать объект workItemIPendingWork.EnqueueItem Если такое уведомление не требуется, можно передать пустую ссылку (Nothing в Visual Basic) для pendingWork и workItem.

При использовании этого метода с рабочим процессом компьютера состояния может появиться исключение, содержащее сообщение "Очередь"{0} не включено". Это происходит, когда текущее состояние компьютера состояния не знает, как обрабатывать определенное событие. Например, если какое-то состояние, отличное от текущего состояния, содержит тот, который содержит EventDrivenActivityHandleExternalEventActivity объект, представленный очередью "{0}".

Применяется к