InstanceStore.Execute Methode

Definition

Führt einen Dauerhaftigkeitsbefehl synchron aus. LoadWorkflowCommand und SaveWorkflowCommand sind Beispiele für Dauerhaftigkeitsbefehle.

public:
 System::Runtime::DurableInstancing::InstanceView ^ Execute(System::Runtime::DurableInstancing::InstanceHandle ^ handle, System::Runtime::DurableInstancing::InstancePersistenceCommand ^ command, TimeSpan timeout);
public System.Runtime.DurableInstancing.InstanceView Execute (System.Runtime.DurableInstancing.InstanceHandle handle, System.Runtime.DurableInstancing.InstancePersistenceCommand command, TimeSpan timeout);
member this.Execute : System.Runtime.DurableInstancing.InstanceHandle * System.Runtime.DurableInstancing.InstancePersistenceCommand * TimeSpan -> System.Runtime.DurableInstancing.InstanceView
Public Function Execute (handle As InstanceHandle, command As InstancePersistenceCommand, timeout As TimeSpan) As InstanceView

Parameter

handle
InstanceHandle

Ein Instanzhandle.

command
InstancePersistenceCommand

Der Befehl, der ausgeführt werden soll.

timeout
TimeSpan

Der Timeoutwert für den Vorgang.

Gibt zurück

Ein InstanceView-Objekt, das nach erfolgreicher Beendigung des Befehls den bekannten Zustand der Instanz darstellt. Wenn "Execute" im Rahmen einer Transaktion aufgerufen wurde, enthält dieser Status möglicherweise Daten, für die kein Commit ausgeführt wurde. Sobald der erfolgreiche Commit der Transaktion erfolgt ist, können die Daten im InstanceView-Objekt als übernommen angesehen werden.

Hinweise

Ein Host ruft die Execute-Methode auf, um asynchron einen Dauerhaftigkeitsbefehl für einen Instanzhandle auszuführen, den der Host durch Aufruf der CreateInstanceHandle-Methode erhält. Der Instanzhandle ist möglicherweise an Entitäten gebunden, die den Kontext und das Subjekt des Befehls darstellen, beispielsweise eine Instanz, einen Instanzbesitzer oder eine Instanzsperre. Es kann nur jeweils ein Befehl für einen Instanzhandle ausgegeben werden.

Warnung

Wenn diese Methode mit ausgeführt CreateWorkflowOwnerCommandwird, erstellt sie eine InstanceOwner und bindet sie an die instance. Dies bedeutet, dass kein anderer Prozess auf diesen Workflow zugreifen kann. wenn der Prozess beendet wird, kann der Workflow nicht wiederhergestellt oder ausgeführt werden. Wenn ein solcher Workflow erneut ausgeführt wird, wird ein InstanceLockedException ausgelöst.

Wenn CreateWorkflowOwnerCommand nicht verwendet wird, erstellt der instance Speicher einen temporären InstanceOwner Speicher, der am Ende des Prozesses gelöscht wird. Wenn der Prozess jedoch vor dem endgültigen Persistenzpunkt des Workflows beendet wird, wird diese Ausnahme ausgelöst, es sei denn, der im HostLockRenewalPeriod-Parameter angegebene Zeitraum ist abgelaufen.

Gilt für: