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