WorkflowInstance.EnqueueItemOnIdle Yöntem

Tanım

İş akışı boşta olduğunda belirtilen iş akışı kuyruğuna bir ileti gönderir. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) iş akışı bir boşta noktasına ulaşana kadar bekler ve iş akışı zamanlayıcısının boşta olduğunu doğruladıktan sonra (başka bir ifadeyle etkin bir işlem yürütülmeden) kuyruuğu oluşturur.

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)

Parametreler

queueName
IComparable

öğesinin WorkflowQueueadı.

item
Object

Sıralanacak nesne.

pendingWork
IPendingWork

IPendingWork Teslim edildiğinde item gönderene bildirim verilmesini sağlayan bir.

workItem
Object

Yöntemlere geçirilecek IPendingWork bir nesne.

Özel durumlar

queueName null başvurudur (Visual Basic Nothing).

İş akışı çalışma zamanı altyapısı çalışmıyor.

-veya-

İş akışı örneği askıya alındı.

-veya-

tarafından WorkflowQueue belirtilen queueName yok.

-veya-

tarafından WorkflowQueue belirtilen queueName etkin değil.

Açıklamalar

İş akışı örneğinin boşta olmasını bekler ve ardından öğesini item belirtilen WorkflowQueueöğesine gönderir. İş akışı örneği askıya alınırken çağrısı EnqueueItemOnIdle yaparsanız, iş akışı çalışma zamanı altyapısı bir InvalidOperationExceptionoluşturur. İleti teslim edildiğinde bildirim almak istiyorsanız, hizmetinizde uygulama IPendingWork yapabilir ve öğesine bir workItem ve nesnesi IPendingWorkEnqueueItemgeçirebilirsiniz. Böyle bir bildirim istemiyorsanız, pendingWork ve workItem için null başvuru (Visual Basic Nothing) geçirebilirsiniz.

Bu yöntemi bir durum makinesi iş akışıyla kullanırken, "Kuyruk '{0}' etkin değil" iletisini içeren bir özel durum alabilirsiniz. Durum makinesinin geçerli durumu belirli bir olayın nasıl işleneceğini bilmediğinde bu durum oluşur. Örneğin, geçerli durumdan başka bir durum ''{0} kuyruğu tarafından temsil edilen öğesini içeren bir durum içerdiğinde.EventDrivenActivityHandleExternalEventActivity

Şunlara uygulanır