WorkflowInstance.EnqueueItem Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skickar ett meddelande till den angivna arbetsflödeskö synkront.
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)
Parametrar
- queueName
- IComparable
Namnet på WorkflowQueue.
- item
- Object
Objektet som ska visas.
- pendingWork
- IPendingWork
En IPendingWork som gör att avsändaren kan meddelas när item den levereras.
- workItem
- Object
Ett objekt som ska skickas IPendingWork till metoderna.
Undantag
queueName är en nullreferens (Nothing i Visual Basic).
Arbetsflödets körningsmotor körs inte.
-eller-
Angivet WorkflowQueue av queueName finns inte.
-eller-
Angivet WorkflowQueue av queueName är inte aktiverat.
Kommentarer
item Skickar till den angivna WorkflowQueue. Om du vill få ett meddelande när meddelandet levereras kan du implementera IPendingWork i din tjänst och skicka ett workItem och ett IPendingWork -objekt till EnqueueItem. Om du inte vill ha ett sådant meddelande kan du skicka en null-referens (Nothing i Visual Basic) för pendingWork och workItem.
När du använder den här metoden med ett tillståndsdatorarbetsflöde kan du få ett undantag med meddelandet "Queue '{0}' is not enabled". Detta inträffar när tillståndsdatorns aktuella tillstånd inte vet hur en specifik händelse ska hanteras. Till exempel om något annat tillstånd än det aktuella tillståndet innehåller EventDrivenActivity det som innehåller HandleExternalEventActivity det som representeras av kön .{0}
Note
Meddelanden är inte garanterade att tas emot av arbetsflödesinstansen i den ordning de skickades. Om du till exempel tar emot ett meddelande i en befintlig kö (kö A) gör att ett arbetsflöde skapar en annan kö (kö B), som sedan lyssnar efter ett annat meddelande som skickas efter det första meddelandet, är det möjligt att det andra meddelandet kommer först och inte tas emot på grund av att kön inte har skapats ännu. För att förhindra det här problemet bör det andra meddelandet inte skickas förrän förekomsten av den andra kön har verifierats (med . GetWorkflowQueueData)