PersistenceParticipant 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 클래스를 사용하면 WorkflowApplication 및 WorkflowServiceHost가 모두 지속성 프로세스에 참가할 수 있습니다. 지속성 참석자는 PersistenceParticipant 클래스 또는 PersistenceIOParticipant 클래스(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)
{
}
설명
호스트는 인스턴스를 지속할 때 다음 단계를 실행합니다.
지속할 값을 수집합니다.
단일 구조 값의 필드를 개별 값으로 매핑합니다.
지속성 공급자에게 SaveWorkflowCommand를 실행합니다.
지속성 트랜잭션에서 I/O를 수행합니다.
호스트가 단계를 완료한 후 다음 단계를 시작합니다. 예를 들어, 지속할 때 호스트는 두 번째 단계로 이동하기 전에 모든 지속성 참석자로부터 값을 수집합니다. 두 번째 단계에서는 호스트가 첫 번째 단계에서 수집한 모든 값을 두 번째 단계의 모든 지속성 참석자에게 매핑을 위해 제공합니다. 세 번째 단계에서는 호스트가 SaveWorkflowCommand를 호출할 때 첫 번째 및 두 번째 단계에서 수집한 모든 값을 지속성 공급자에게 제공합니다. 네 번째 단계에서는 호스트가 지속성 트랜잭션에서 수집한 모든 값을 모든 지속성 IO 참석자에게 제공합니다.
호스트는 지속성 인스턴스를 로드할 때 다음 단계를 실행합니다.
지속성 공급자에게 LoadWorkflowCommand 및 LoadWorkflowByInstanceKeyCommand를 실행합니다.
지속성 트랜잭션에서 I/O를 수행합니다.
로드된 값을 게시합니다.
상위 수준에서 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) |