워크플로 지속성은 프로세스 또는 컴퓨터 정보와 관계없이 워크플로 인스턴스의 상태를 지속적으로 캡처하는 것입니다. 시스템 오류 발생 시 워크플로 인스턴스에 대해 잘 알려진 복구 지점을 제공하거나, 현재 작업을 수행하지 않는 워크플로 인스턴스를 언로드하여 메모리를 유지하거나, 워크플로 인스턴스의 상태를 한 노드에서 서버 팜의 다른 노드로 이동하기 위해 수행됩니다.
지속성을 사용하면 프로세스 민첩성, 확장성, 오류 발생 후 복구 및 메모리를 보다 효율적으로 관리할 수 있습니다. 지속성 프로세스에는 지속성 지점의 식별, 저장할 데이터 수집 및 마지막으로 데이터의 실제 스토리지를 지속성 공급자로 위임하는 작업이 포함됩니다.
워크플로에 대한 지속성을 사용하도록 설정하려면 방법: 워크플로 및 워크플로 서비스에 지속성 사용에 설명된 대로 인스턴스 저장소를 WorkflowApplication 또는 WorkflowServiceHost와 연결해야 합니다. WorkflowApplication 및 WorkflowServiceHost는 연결된 인스턴스 저장소를 사용하여 지속성 저장소에 워크플로 인스턴스를 유지하도록 설정하고 지속성 저장소에 저장된 워크플로 인스턴스 데이터를 기반으로 워크플로 인스턴스를 메모리에 로드합니다.
.NET Framework 4.6.1은 SqlWorkflowInstanceStore 클래스와 함께 제공됩니다. 이를 통해 워크플로 인스턴스에 대한 데이터 및 메타데이터를 SQL Server 2005 또는 SQL Server 2008 데이터베이스로 지속할 수 있습니다. 자세한 내용은 SQL 워크플로 인스턴스 저장소 를 참조하세요.
워크플로 인스턴스 관련 정보와 함께 애플리케이션별 데이터를 저장하고 로드하려면 클래스를 확장하는 지속성 참가자를 PersistenceParticipant 만들 수 있습니다. 지속성 참가자는 지속성 프로세스에 참여하여 사용자 지정 직렬화 가능 데이터를 지속성 저장소에 저장하고, 인스턴스 저장소의 데이터를 메모리로 로드하고, 지속성 트랜잭션에서 추가 논리를 수행합니다. 자세한 내용은 퍼시스턴스 참가자를 참조하세요.
Windows Server App Fabric은 지속성을 구성하는 프로세스를 간소화합니다. 자세한 내용은 Windows Server App Fabric의 지속성 개념을 참조하세요.
암시적 지속성 지점
다음 목록에는 인스턴스 저장소가 워크플로와 연결될 때 워크플로가 유지되는 조건의 예가 포함되어 있습니다.
TransactionScope 작업이 완료되거나 TransactedReceiveScope 작업이 완료되면
워크플로 인스턴스가 유휴 상태가 되고 워크플로 호스트에서 WorkflowIdleBehavior 가 설정되는 경우 예를 들어 메시징 활동 또는 지연 활동을 사용하는 경우 이 문제가 발생합니다.
WorkflowApplication이 유휴 상태가 되고 애플리케이션의 PersistableIdle 속성이 PersistableIdleAction.Persist로 설정된 경우
호스트 애플리케이션이 워크플로 인스턴스를 유지하거나 언로드하도록 지시되는 경우
워크플로 인스턴스가 종료되거나 완료되면
지속 작업이 실행되는 경우
이전 버전의 Windows Workflow Foundation을 사용하여 개발한 워크플로 인스턴스가 상호 운용 가능한 실행 중에 지속성 지점을 발견할 때
이 섹션 안에
.NET