다음을 통해 공유


PersistenceParticipant 클래스

정의

이 클래스를 사용하면 WorkflowApplicationWorkflowServiceHost가 모두 지속성 프로세스에 참가할 수 있습니다. 지속성 참석자는 PersistenceParticipant 클래스 또는 PersistenceIOParticipant 클래스(PersistenceParticipant 클래스의 파생 클래스)에서 파생되며, 추상 메서드를 구현한 후 클래스 인스턴스를 워크플로 인스턴스 확장으로 추가합니다. WorkflowApplicationWorkflowServiceHost는 인스턴스를 지속할 때 이러한 확장을 찾고 적절한 시간에 적절한 메서드를 호출합니다.

public ref class PersistenceParticipant abstract
public abstract class PersistenceParticipant
type PersistenceParticipant = class
Public MustInherit Class PersistenceParticipant
상속
PersistenceParticipant
파생

예제

다음 코드 샘플에서는 PersistenceParticipant에서 파생되는 클래스를 만드는 방법을 보여 줍니다. 이 예제에서는 합니다 고용 프로세스 샘플입니다.

public class HiringRequestInfoPersistenceParticipant: PersistenceIOParticipant
{
    public HiringRequestInfoPersistenceParticipant()
        : base(true, false)
    {
    }

설명

호스트는 인스턴스를 지속할 때 다음 단계를 실행합니다.

  1. 지속할 값을 수집합니다.

  2. 단일 구조 값의 필드를 개별 값으로 매핑합니다.

  3. 지속성 공급자에게 SaveWorkflowCommand를 실행합니다.

  4. 지속성 트랜잭션에서 I/O를 수행합니다.

호스트가 단계를 완료한 후 다음 단계를 시작합니다. 예를 들어, 지속할 때 호스트는 두 번째 단계로 이동하기 전에 모든 지속성 참석자로부터 값을 수집합니다. 두 번째 단계에서는 호스트가 첫 번째 단계에서 수집한 모든 값을 두 번째 단계의 모든 지속성 참석자에게 매핑을 위해 제공합니다. 세 번째 단계에서는 호스트가 SaveWorkflowCommand를 호출할 때 첫 번째 및 두 번째 단계에서 수집한 모든 값을 지속성 공급자에게 제공합니다. 네 번째 단계에서는 호스트가 지속성 트랜잭션에서 수집한 모든 값을 모든 지속성 IO 참석자에게 제공합니다.

호스트는 지속성 인스턴스를 로드할 때 다음 단계를 실행합니다.

  1. 지속성 공급자에게 LoadWorkflowCommandLoadWorkflowByInstanceKeyCommand를 실행합니다.

  2. 지속성 트랜잭션에서 I/O를 수행합니다.

  3. 로드된 값을 게시합니다.

상위 수준에서 PersistenceParticipant 클래스로부터 파생된 워크플로 인스턴스 확장은 지속 프로세스의 첫 번째(수집) 및 두 번째(매핑) 단계와 로드 프로세스의 세 번째 단계(게시)에 참가할 수 있습니다. PersistenceIOParticipant 클래스로부터 파생된 워크플로 인스턴스 확장은 지속 프로세스의 네 번째 단계와 로드 프로세스의 두 번째 단계(I/O)에 추가로 참가할 수 있습니다.

생성자

PersistenceParticipant()

PersistenceParticipant 클래스의 인스턴스를 초기화합니다.

메서드

CollectValues(IDictionary<XName,Object>, IDictionary<XName,Object>)

호스트는 지속할 읽기/쓰기 값과 쓰기 전용 값을 수집하기 위해 사용자 지정 지속성 참석자에 대해 이 메서드를 호출합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

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

기본 해시 함수로 작동합니다.

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

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MapValues(IDictionary<XName,Object>, IDictionary<XName,Object>)

호스트는 첫 번째 단계에서 값 수집을 완료한 후 이 메서드를 호출합니다. 호스트는 첫 번째 단계(CollectValues 단계) 중에 모든 지속성 참석자로부터 수집한 값의 읽기 전용 사전 두 개를 매핑을 위해 이 메서드로 전달합니다. 호스트는 이 메서드에 의해 반환된 사전의 값을 쓰기 전용 값 컬렉션에 추가합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
PublishValues(IDictionary<XName,Object>)

호스트는 이 메서드를 호출하고 InstanceData 또는 LoadWorkflowCommand로 채워진 LoadWorkflowByInstanceKeyCommand 컬렉션에 로드된 모든 값을 사전 매개 변수로 전달합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상