WorkflowInstance.EnqueueItemOnIdle 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ö när arbetsflödet är inaktivt. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) väntar tills arbetsflödet når en inaktiv punkt och köar efter att ha kontrollerat att arbetsflödesschemaläggaren är inaktiv (det vill: ingen aktiv åtgärd körs).
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)
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-
Arbetsflödesinstansen är pausad.
-eller-
Angivet WorkflowQueue av queueName finns inte.
-eller-
Angivet WorkflowQueue av queueName är inte aktiverat.
Kommentarer
Väntar tills arbetsflödesinstansen blir inaktiv och skickar item sedan till den angivna WorkflowQueue. Om du anropar EnqueueItemOnIdle medan arbetsflödesinstansen pausas utlöser arbetsflödeskörningsmotorn en InvalidOperationException. 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 som innehåller 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}