WorkflowInstance.TryUnload 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
인스턴스가 일시 중단되거나 유휴 상태이면 메모리의 워크플로 인스턴스를 지속성 저장소로 언로드합니다.
public:
bool TryUnload();
public bool TryUnload ();
member this.TryUnload : unit -> bool
Public Function TryUnload () As Boolean
반환
워크플로 인스턴스가 언로드되었으면 true
이고, 그렇지 않으면 false
입니다.
예외
워크플로 런타임 엔진에 등록된 지속성 서비스가 없는 경우
예제
다음 예제에서는 WorkflowIdled 이벤트가 발생할 때 TryUnload 메서드를 사용하여 워크플로를 언로드하는 방법을 보여 줍니다. 이 예제는 Program.cs 파일에 있는 Using Persistence Services SDK 샘플의 일부입니다. 자세한 내용은 Persistence Services 샘플을 사용 하 여입니다.
//Called when the workflow is idle - in this sample this occurs when the workflow is waiting on the
// delay1 activity to expire
static void OnWorkflowIdled(object sender, WorkflowEventArgs e)
{
Console.WriteLine("Workflow is idle.");
e.WorkflowInstance.TryUnload();
}
'Called when the workflow is idle - in me sample me occurs when the workflow is waiting on the
' delay1 activity to expire
Shared Sub OnWorkflowIdled(ByVal sender As Object, ByVal e As WorkflowEventArgs)
Console.WriteLine("Workflow is idle.")
e.WorkflowInstance.TryUnload()
End Sub
설명
워크플로 인스턴스가 유휴 상태이거나 일시 중단된 경우 TryUnload는 지속성 서비스를 사용하여 메모리에서 워크플로 인스턴스를 제거하고 데이터 저장소에서 지속합니다.
WorkflowRuntime에 등록된 지속성 서비스가 없으면 TryUnload가 InvalidOperationException을 throw합니다. 워크플로 인스턴스가 성공적으로 지속되면 런타임에서 WorkflowUnloaded 이벤트를 발생시키고 true
를 반환합니다. 워크플로 인스턴스가 이미 언로드, 종료, 일시 중단 또는 완료된 경우 Unload에서 false
를 반환합니다.
호스트는 TryUnload를 사용하여 유휴 워크플로에서 시스템 리소스를 회수할 수 있습니다.
적용 대상
.NET