다음을 통해 공유


InstanceStore.Execute 메서드

정의

지속성 명령을 동기적으로 실행합니다. 지속성 명령의 예로는 LoadWorkflowCommandSaveWorkflowCommand가 있습니다.

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

매개 변수

handle
InstanceHandle

인스턴스 핸들입니다.

command
InstancePersistenceCommand

실행할 명령입니다.

timeout
TimeSpan

작업의 시간 제한 값입니다.

반환

명령이 성공적으로 완료된 후 인스턴스의 알려진 상태를 나타내는 InstanceView 개체입니다. 트랜잭션에서 Execute가 호출되면 이 상태에는 커밋되지 않은 데이터가 포함될 수 있습니다. 트랜잭션이 성공적으로 커밋되면 InstanceView 개체의 데이터를 커밋된 것으로 간주할 수 있습니다.

설명

호스트는 메서드를 호출하여 호스트가 Execute 메서드를 호출하여 가져오는 instance 핸들에 대해 지속성 명령을 실행합니다CreateInstanceHandle. instance 핸들은 명령의 컨텍스트 및 제목(예: instance, instance 소유자 또는 instance 잠금)을 나타내는 엔터티에 바인딩될 수 있습니다. instance 핸들에 대해 한 번에 하나의 명령만 실행할 수 있습니다.

경고

이 메서드가 를 사용하여 실행되는 경우 을 CreateWorkflowOwnerCommandInstanceOwner 만들고 instance 바인딩합니다. 즉, 다른 프로세스는 해당 워크플로에 액세스할 수 없습니다. 프로세스가 종료되면 워크플로를 복구하거나 실행할 수 없습니다. 이러한 워크플로가 다시 실행되면 가 InstanceLockedException throw됩니다.

이 사용되지 않으면 CreateWorkflowOwnerCommand instance 저장소는 프로세스가 끝날 때 삭제되는 임시 InstanceOwner 를 만듭니다. 그러나 워크플로의 최종 지속성 지점 이전에 프로세스가 종료되면 HostLockRenewalPeriod 매개 변수에 지정된 기간이 만료되지 않는 한 이 예외가 throw됩니다.

적용 대상