WorkflowInstance.EnqueueItemOnIdle Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een bericht in de opgegeven werkstroomwachtrij geplaatst wanneer de werkstroom niet actief is. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) wacht totdat de werkstroom een niet-actief punt bereikt en enqueues nadat is gecontroleerd of de werkstroomplanner niet actief is (dat wil gezegd, er wordt geen actieve bewerking uitgevoerd).
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)
Parameters
- queueName
- IComparable
De naam van de WorkflowQueue.
- item
- Object
Het object dat moet worden weergegeven.
- pendingWork
- IPendingWork
Een IPendingWork waarmee de afzender op de hoogte kan worden gesteld wanneer item deze wordt bezorgd.
- workItem
- Object
Een object dat moet worden doorgegeven aan de IPendingWork methoden.
Uitzonderingen
queueName is een null-verwijzing (Nothing in Visual Basic).
De runtime-engine van de werkstroom wordt niet uitgevoerd.
– of –
Het werkstroomexemplaren is onderbroken.
– of –
De WorkflowQueue opgegeven door queueName bestaat niet.
– of –
De WorkflowQueue opgegeven door queueName is niet ingeschakeld.
Opmerkingen
Wacht totdat het werkstroomexemplaren inactief zijn en stuurt het item vervolgens naar de opgegeven WorkflowQueue. Als u aanroept EnqueueItemOnIdle terwijl het werkstroomexemplaren zijn onderbroken, genereert de runtime-engine van de werkstroom een InvalidOperationException. Als u een melding wilt ontvangen wanneer het bericht wordt bezorgd, kunt u in uw service implementeren en een workItem en een IPendingWork object doorgeven aan EnqueueItem.IPendingWork Als u dergelijke melding niet wilt, kunt u een null-verwijzing (Nothing in Visual Basic) doorgeven voor pendingWork en workItem.
Wanneer u deze methode gebruikt met een werkstroom voor statuscomputers, krijgt u mogelijk een uitzondering met het bericht 'Wachtrij '{0}' is niet ingeschakeld.' Dit gebeurt wanneer de huidige status van de statusmachine niet weet hoe een specifieke gebeurtenis moet worden verwerkt. Als een andere status dan de huidige status bijvoorbeeld de EventDrivenActivity status bevat die de HandleExternalEventActivity status bevat die wordt vertegenwoordigd door de wachtrij '{0}'.