WorkflowInstance.EnqueueItem Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen iş akışı kuyruğuna zaman uyumlu olarak bir ileti gönderir.
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)
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-
tarafından WorkflowQueue belirtilen queueName yok.
-veya-
tarafından WorkflowQueue belirtilen queueName etkin değil.
Açıklamalar
öğesini item belirtilen WorkflowQueueöğesine gönderir. İ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 durum makinesi iş akışıyla kullanırken , "'' kuyruğu{0} etkin değil" iletisiyle bir özel durum alabilirsiniz. Durum makinesinin geçerli durumu belirli bir olayın nasıl işleneceğini bilmediğinde bu durum ortaya çıkar. Ö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
Note
İletilerin iş akışı örneği tarafından gönderilme sırasına göre alınması garanti değildir. Örneğin, var olan bir kuyrukta (Kuyruk A) bir iletinin alınması, bir iş akışının başka bir kuyruk (Kuyruk B) oluşturmasına neden oluyorsa ve bu da ilk iletiden sonra gönderilen başka bir iletiyi dinliyorsa, ikinci iletinin önce gelmesi ve kuyruğunun henüz oluşturulmaması nedeniyle alınmaması mümkündür. Bu sorunu önlemek için ikinci kuyruğun varlığı doğrulanana kadar (kullanılarak GetWorkflowQueueData) ikinci ileti gönderilmemelidir.