WorkflowInstance 클래스

정의

경고

이 API는 현재 사용되지 않습니다.

워크플로 인스턴스를 나타냅니다.Represents a workflow instance.

public ref class WorkflowInstance sealed
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public sealed class WorkflowInstance
type WorkflowInstance = class
Public NotInheritable Class WorkflowInstance
상속
WorkflowInstance
특성

예제

다음 코드 예제에서는 워크플로 호스트에서 WorkflowInstance를 만들고 시작하는 방법을 보여 줍니다.The following code example demonstrates how you can create and start a WorkflowInstance in a workflow host. 또한 WorkflowRuntime 인스턴스를 만들고 서비스를 런타임에 추가한 다음 WorkflowInstance 개체를 만드는 권장 방법을 보여 줍니다.The code creates an instance of the WorkflowRuntime, adds services to the runtime, and then demonstrates the recommended way to create a WorkflowInstance object. 이 코드에서는 WorkflowInstance 메서드를 호출하고 이전에 만든 형식을 전달하여 CreateWorkflow를 초기화합니다.The code initializes WorkflowInstance by calling the CreateWorkflow method and passing the previously created type to it. WorkflowInstanceStart 메서드 호출을 사용하여 시작됩니다.The WorkflowInstance is started with the Start method call.

이 코드 예제는 Program.cs 파일에 있는 Canceling a Workflow SDK 샘플의 일부입니다.This code example is part of the Canceling a Workflow SDK sample from the Program.cs file. 자세한 내용은 워크플로 취소 하면합니다.For more information, see Canceling a Workflow.

Type type = typeof(SampleWorkflow1);
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
workflowInstance.Start();
Dim workflowInstance As WorkflowInstance
workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
workflowInstance.Start()

설명

참고

이 자료에서는 더 이상 사용되지 않는 형식과 네임스페이스에 대해 설명합니다.This material discusses types and namespaces that are obsolete. 자세한 내용은 Deprecated Types in Windows Workflow Foundation 4.5(Windows Workflow Foundation 4.5에서 사용되지 않는 형식)를 참조하세요.For more information, see Deprecated Types in Windows Workflow Foundation 4.5.

WorkflowInstance 클래스는 워크플로 인스턴스 실행을 제어하는 데 사용할 수 있는 메서드와 속성을 노출합니다. 기본적으로 워크플로 런타임 엔진이 사용하는 실제 워크플로 인스턴스에 대한 프록시입니다.The WorkflowInstance class exposes methods and properties that can be used to control the execution of a workflow instance; it is essentially a proxy to the actual workflow instance used by the workflow runtime engine. 호스트나 서비스는 WorkflowInstance 클래스에 포함된 적절한 메서드를 호출하여 워크플로 인스턴스에서 작업을 수행하도록 워크플로 런타임 엔진에 지정할 수 있습니다.A host or a service can instruct the workflow runtime engine to perform actions on a workflow instance by calling the appropriate methods that are contained in the WorkflowInstance class. 요청된 작업이 잘못된 경우, 예를 들어 호스트가 이미 완료된 워크플로 인스턴스에서 Load를 호출하는 경우 워크플로 런타임 엔진이 해당 예외를 발생시킵니다.If the requested action is not valid, for example, if the host calls Load on a workflow instance that has already completed, the workflow runtime engine will raise an appropriate exception.

참고

호스트 애플리케이션의 호출이 반환되지 않아 워크플로 인스턴스가 응답하지 않는 경우 런타임을 다시 시작해야만 인스턴스를 복구할 수 있습니다.If a workflow instance becomes unresponsive because a call on the host application does not return, the only way to recover the instance is to restart the runtime. 그러나 인스턴스가 강제로 언로드, 중단 또는 일시 중단된 경우에는 WorkflowInstance.Resume 메서드를 호출하여 계속할 수 있습니다.However, if the instance has been forcibly unloaded, aborted, or suspended, it can be continued by calling the WorkflowInstance.Resume method.

속성

InstanceId

워크플로 인스턴스의 고유 식별자를 가져옵니다.Gets the unique identifier for the workflow instance.

WorkflowRuntime

이 워크플로 인스턴스에 대한 WorkflowRuntime을 가져옵니다.Gets the WorkflowRuntime for this workflow instance.

메서드

Abort()

워크플로 인스턴스를 중단합니다.Aborts the workflow instance.

ApplyWorkflowChanges(WorkflowChanges)

WorkflowChanges 개체에 지정된 워크플로 인스턴스 변경 내용을 적용합니다.Applies changes to the workflow instance specified by the WorkflowChanges object.

EnqueueItem(IComparable, Object, IPendingWork, Object)

메시지를 지정된 워크플로 큐에 동기적으로 게시합니다.Posts a message to the specified workflow queue synchronously.

EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object)

워크플로가 유휴 상태이면 메시지를 지정된 워크플로 큐에 게시합니다.Posts a message to the specified workflow queue when the workflow is idle. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object)은 워크플로가 유휴 지점에 도달할 때까지 기다리고 워크플로 스케줄러가 유휴 상태인지, 즉 실행 중인 활성 작업이 없는지 확인한 후 큐에 삽입됩니다.EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) waits until the workflow reaches an idle point and enqueues after verifying that the workflow scheduler is idle (that is, no active operation is being executed).

Equals(Object)

지정된 개체가 WorkflowInstance와 같은지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether the specified object is equal to the WorkflowInstance.

GetHashCode()

이 워크플로 인스턴스에 대한 해시 코드를 반환합니다.Returns the hash code for this workflow instance.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
GetWorkflowDefinition()

이 워크플로 인스턴스에 대한 루트 활동을 검색합니다.Retrieves the root activity for this workflow instance.

GetWorkflowNextTimerExpiration()

WorkflowInstance가 타이머 메시지를 전달하도록 예약된 다음 시점을 반환합니다.Returns the next point in time that this WorkflowInstance is scheduled to be delivered a timer message.

GetWorkflowQueueData()

이 워크플로 인스턴스와 연결된 워크플로 큐에 대해 보류 중인 항목과 구독되는 활동을 포함하는 WorkflowQueueInfo 개체의 컬렉션을 가져옵니다.Gets a collection of WorkflowQueueInfo objects that contains the pending items and subscribed activities for the workflow queues associated with this workflow instance.

Load()

이전에 언로드된 워크플로 인스턴스를 로드합니다.Loads a previously unloaded workflow instance.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ReloadTrackingProfiles()

이 워크플로 인스턴스에 대한 추적 프로필을 다시 로드합니다.Reload the tracking profiles for this workflow instance.

Resume()

이전에 일시 중단된 워크플로 인스턴스의 실행을 계속합니다.Resumes execution of a previously suspended workflow instance.

Start()

워크플로 인스턴스의 실행을 시작합니다.Starts the execution of the workflow instance.

Suspend(String)

워크플로 인스턴스를 일시 중단합니다.Suspends the workflow instance.

Terminate(String)

워크플로 인스턴스를 동기 방식으로 종료합니다.Terminates the workflow instance in a synchronous manner.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)
TryUnload()

인스턴스가 일시 중단되거나 유휴 상태이면 메모리의 워크플로 인스턴스를 지속성 저장소로 언로드합니다.Unloads the workflow instance from memory to the persistence store when the instance is suspended or idle.

Unload()

메모리의 워크플로 인스턴스를 지속성 저장소로 언로드합니다.Unloads the workflow instance from memory to the persistence store. 이 호출은 현재 예약된 작업이 완료된 후 또는 트랜잭션 범위의 끝까지 차단됩니다.This call blocks until after the currently scheduled work is finished, or the end of a transaction scope.

적용 대상

스레드 보안

이 형식은 스레드로부터 안전합니다.This type is thread safe.

추가 정보