WorkflowApplication.Unload 메서드

정의

워크플로 인스턴스를 유지 및 언로드합니다.

오버로드

Name Description
Unload(TimeSpan)

지정된 시간 제한 간격을 사용하여 워크플로 인스턴스를 유지 및 언로드합니다.

Unload()

워크플로 인스턴스를 유지 및 언로드합니다.

설명

기본적으로 언로드 작업은 30초 안에 완료되거나 throw TimeoutException 됩니다.

워크플로 인스턴스가 이전에 지속성에서 로드된 경우 워크플로를 로드하는 데 사용된 것과 동일한 InstanceStore 것이 지속성에 사용됩니다. 워크플로가 만들어지고 아직 유지되지 않은 경우 이 메서드를 InstanceStore 호출하기 전에 구성해야 합니다. 그렇지 않으면 InvalidOperationException 이 메서드가 호출될 때 throw됩니다.

Unload(TimeSpan)

지정된 시간 제한 간격을 사용하여 워크플로 인스턴스를 유지 및 언로드합니다.

public:
 void Unload(TimeSpan timeout);
public void Unload(TimeSpan timeout);
member this.Unload : TimeSpan -> unit
Public Sub Unload (timeout As TimeSpan)

매개 변수

timeout
TimeSpan

작업이 취소되고 throw되기 전에 언로드 작업이 완료되어야 하는 TimeoutException 간격입니다.

예제

이 예제에서는 워크플로가 유휴 상태이고 호스트 애플리케이션이 사용자 입력을 기다리고 있습니다. 사용자가 언로드 Unload 하도록 선택하는 경우 호출됩니다. 성공하면 워크플로가 메모리에서 유지되고 언로드됩니다.

// single interaction with the user. The user enters a string in the console and that
// string is used to resume the ReadLine activity bookmark
static void Interact(WorkflowApplication application, AutoResetEvent resetEvent)
{
    Console.WriteLine("Workflow is ready for input");
    Console.WriteLine("Special commands: 'unload', 'exit'");

    bool done = false;
    while (!done)
    {
        Console.Write("> ");
        string s = Console.ReadLine();
        if (s.Equals("unload"))
        {
            try
            {
                // attempt to unload will fail if the workflow is idle within a NoPersistZone
                application.Unload(TimeSpan.FromSeconds(5));
                done = true;
            }
            catch (TimeoutException e)
            {
                Console.WriteLine(e.Message);
            }
        }
        else if (s.Equals("exit"))
        {
            application.ResumeBookmark("inputBookmark", s);
            done = true;
        }
        else
        {
            application.ResumeBookmark("inputBookmark", s);
        }
    }
    resetEvent.WaitOne();
}

설명

워크플로 인스턴스가 이전에 지속성에서 로드된 경우 워크플로를 로드하는 데 사용된 것과 동일한 InstanceStore 것이 지속성에 사용됩니다. 워크플로가 만들어지고 아직 유지되지 않은 경우 이 메서드를 InstanceStore 호출하기 전에 구성해야 합니다. 그렇지 않으면 InvalidOperationException 이 메서드가 호출될 때 throw됩니다.

적용 대상

Unload()

워크플로 인스턴스를 유지 및 언로드합니다.

public:
 void Unload();
public void Unload();
member this.Unload : unit -> unit
Public Sub Unload ()

예제

이 예제에서는 워크플로가 유휴 상태이고 호스트 애플리케이션이 사용자 입력을 기다리고 있습니다. 사용자가 언로드 Unload 하도록 선택하는 경우 호출됩니다. 성공하면 워크플로가 메모리에서 유지되고 언로드됩니다.

// single interaction with the user. The user enters a string in the console and that
// string is used to resume the ReadLine activity bookmark
static void Interact(WorkflowApplication application, AutoResetEvent resetEvent)
{
    Console.WriteLine("Workflow is ready for input");
    Console.WriteLine("Special commands: 'unload', 'exit'");

    bool done = false;
    while (!done)
    {
        Console.Write("> ");
        string s = Console.ReadLine();
        if (s.Equals("unload"))
        {
            try
            {
                // attempt to unload will fail if the workflow is idle within a NoPersistZone
                application.Unload(TimeSpan.FromSeconds(5));
                done = true;
            }
            catch (TimeoutException e)
            {
                Console.WriteLine(e.Message);
            }
        }
        else if (s.Equals("exit"))
        {
            application.ResumeBookmark("inputBookmark", s);
            done = true;
        }
        else
        {
            application.ResumeBookmark("inputBookmark", s);
        }
    }
    resetEvent.WaitOne();
}

설명

기본적으로 언로드 작업은 30초 안에 완료되거나 throw TimeoutException 됩니다.

워크플로 인스턴스가 이전에 지속성에서 로드된 경우 워크플로를 로드하는 데 사용된 것과 동일한 InstanceStore 것이 지속성에 사용됩니다. 워크플로가 만들어지고 아직 유지되지 않은 경우 이 메서드를 InstanceStore 호출하기 전에 구성해야 합니다. 그렇지 않으면 InvalidOperationException 이 메서드가 호출될 때 throw됩니다.

적용 대상