PersistenceParticipant 클래스

정의

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

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. LoadWorkflowCommand 지속성 공급자를 발급합니다LoadWorkflowByInstanceKeyCommand.

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

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

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

생성자

Name Description
PersistenceParticipant()

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

메서드

Name Description
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)

적용 대상