PersistenceIOParticipant 클래스

정의

지속성 프로세스를 통해 워크플로 인스턴스의 PersistenceParticipant 지속 및 로드 외에도 입력 및 출력 작업을 수행하는 메서드가 있는 클래스의 파생 vclass입니다.

public ref class PersistenceIOParticipant abstract : System::Activities::Persistence::PersistenceParticipant
public abstract class PersistenceIOParticipant : System.Activities.Persistence.PersistenceParticipant
type PersistenceIOParticipant = class
    inherit PersistenceParticipant
Public MustInherit Class PersistenceIOParticipant
Inherits PersistenceParticipant
상속
PersistenceIOParticipant

설명

호스트는 인스턴스를 유지할 때 다음 단계(또는 단계)를 실행합니다.

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

  2. 모놀리식 구조화된 값의 필드를 개별 값에 매핑합니다.

  3. SaveWorkflowCommand 지속성 공급자에게 발급합니다.

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

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

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

  1. LoadWorkflowCommand 지속성 공급자를 발급합니다LoadWorkflowByInstanceKeyCommand.

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

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

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

생성자

Name Description
PersistenceIOParticipant(Boolean, Boolean)

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

메서드

Name Description
Abort()

보류 중인 IO(로드 또는 저장) 작업을 중단합니다.

BeginOnLoad(IDictionary<XName,Object>, TimeSpan, AsyncCallback, Object)

인스턴스 저장소에서 로드되는 인스턴스와 함께 추가 상태를 로드하는 비동기 작업을 시작합니다.

BeginOnSave(IDictionary<XName,Object>, IDictionary<XName,Object>, TimeSpan, AsyncCallback, Object)

인스턴스 저장소에 유지되는 인스턴스와 함께 추가 상태를 저장하는 비동기 작업을 시작합니다.

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

호스트는 사용자 지정 지속성 참가자에 대해 이 메서드를 호출하여 읽기-쓰기 값 및 쓰기 전용 값을 수집하여 유지할 수 있습니다.

(다음에서 상속됨 PersistenceParticipant)
EndOnLoad(IAsyncResult)

비동기 로드 작업을 완료합니다.

EndOnSave(IAsyncResult)

비동기 저장 작업을 완료합니다.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.

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

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

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

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

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

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

(다음에서 상속됨 PersistenceParticipant)
MemberwiseClone()

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

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

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

(다음에서 상속됨 PersistenceParticipant)
ToString()

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

(다음에서 상속됨 Object)

적용 대상