WorkflowInstance.Abort 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
워크플로 인스턴스를 중단합니다.
public:
void Abort();
public void Abort ();
member this.Abort : unit -> unit
Public Sub Abort ()
예외
워크플로 런타임 엔진이 실행되고 있지 않은 경우
예제
다음 예제에서는 Workflow1 형식의 워크플로 인스턴스에서 Abort를 호출하는 방법을 보여 줍니다.
//Create a workflow runtime
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
//Create a workflow instance
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
//Start the instance
instance.Start();
//Abort the instance
instance.Abort();
'Create a workflow runtime
Dim workflowRuntime As New WorkflowRuntime()
'Create a workflow instance
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
'Start the instance
workflowInstance.Start()
'Abort the instance
workflowInstance.Abort()
설명
워크플로 인스턴스는 비동기 방식으로 중단됩니다. 즉, 워크플로 인스턴스가 중단된 후 메서드가 반환됩니다. 워크플로 런타임 엔진은 메모리의 워크플로 인스턴스를 무효화하고 WorkBatch를 지웁니다. 워크플로 인스턴스에서 지속성 서비스를 사용한 경우 마지막 유지 지점 이후 수행된 모든 작업이 삭제됩니다. 워크플로 런타임 엔진은 워크플로 인스턴스를 중단한 후 WorkflowAborted 이벤트를 발생시킵니다. GetWorkflow를 호출하여 워크플로 인스턴스를 다시 로드하고 마지막 유지 지점에서 시작할 수 있습니다.
Abort
가 단순히 메모리 내 워크플로 인스턴스를 지우는 반면 Terminate는 메모리 내 워크플로 인스턴스를 지우고 인스턴스가 메모리에서 지워졌음을 지속성 서비스에 알린다는 점에서 Terminate는 Abort
와 다릅니다.
SqlWorkflowPersistenceService의 경우 이는 해당 워크플로 인스턴스의 모든 상태 정보가 종료 시 데이터베이스에서 삭제됨을 의미합니다. 이전에 저장된 유지 지점에서 워크플로 인스턴스를 다시 로드할 수 없습니다.
적용 대상
.NET