WorkflowApplication.Persist 메서드

정의

워크플로 인스턴스를 인스턴스 저장소에 유지합니다.

오버로드

Name Description
Persist()

워크플로 인스턴스를 인스턴스 저장소에 유지합니다.

Persist(TimeSpan)

지정된 시간 제한 간격을 사용하여 워크플로 인스턴스를 인스턴스 저장소에 유지합니다.

설명

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

Persist()

워크플로 인스턴스를 인스턴스 저장소에 유지합니다.

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

예제

다음 예제에서는 워크플로가 시작되기 전에 워크플로 인스턴스를 유지하도록 호출 Persist 합니다.

WorkflowApplication application = new WorkflowApplication(activity);

application.InstanceStore = instanceStore;

//returning IdleAction.Unload instructs the WorkflowApplication to persists application state and remove it from memory
application.PersistableIdle = (e) =>
{
    return PersistableIdleAction.Unload;
};

application.Unloaded = (e) =>
{
    instanceUnloaded.Set();
};

//This call is not required
//Calling persist here captures the application durably before it has been started
application.Persist();
id = application.Id;
application.Run();

instanceUnloaded.WaitOne();

설명

지속 작업이 30초 이내에 완료되지 않으면 throw TimeoutException 됩니다.

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

적용 대상

Persist(TimeSpan)

지정된 시간 제한 간격을 사용하여 워크플로 인스턴스를 인스턴스 저장소에 유지합니다.

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

매개 변수

timeout
TimeSpan

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

예제

다음 예제에서는 워크플로가 시작되기 전에 워크플로 인스턴스를 유지하도록 호출 Persist 합니다.

WorkflowApplication application = new WorkflowApplication(activity);

application.InstanceStore = instanceStore;

//returning IdleAction.Unload instructs the WorkflowApplication to persists application state and remove it from memory
application.PersistableIdle = (e) =>
{
    return PersistableIdleAction.Unload;
};

application.Unloaded = (e) =>
{
    instanceUnloaded.Set();
};

//This call is not required
//Calling persist here captures the application durably before it has been started
application.Persist();
id = application.Id;
application.Run();

instanceUnloaded.WaitOne();

설명

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

적용 대상