SqlWorkflowPersistenceService 클래스

정의

주의

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

SQL 데이터베이스를 사용하여 워크플로 상태 정보를 저장하는 유지 서비스를 나타냅니다.

public ref class SqlWorkflowPersistenceService : System::Workflow::Runtime::Hosting::WorkflowPersistenceService, System::Workflow::Runtime::IPendingWork
public class SqlWorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowPersistenceService, System.Workflow.Runtime.IPendingWork
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class SqlWorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowPersistenceService, System.Workflow.Runtime.IPendingWork
type SqlWorkflowPersistenceService = class
    inherit WorkflowPersistenceService
    interface IPendingWork
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type SqlWorkflowPersistenceService = class
    inherit WorkflowPersistenceService
    interface IPendingWork
Public Class SqlWorkflowPersistenceService
Inherits WorkflowPersistenceService
Implements IPendingWork
상속
특성
구현

설명

참고

이 자료에서는 더 이상 사용되지 않는 형식과 네임스페이스에 대해 설명합니다. 자세한 내용은 Deprecated Types in Windows Workflow Foundation 4.5(Windows Workflow Foundation 4.5에서 사용되지 않는 형식)를 참조하세요.

SqlWorkflowPersistenceService 클래스는 제대로 작동하는 유지 서비스를 나타냅니다. 기본적으로 제공되는 이 서비스를 사용하면 워크플로 런타임 엔진에서 요청할 때 워크플로 인스턴스에 대한 워크플로 상태 정보를 유지하고 검색할 수 있습니다.

SqlWorkflowPersistenceServiceWorkflowCommitWorkBatchService에서 제공하는 워크플로 트랜잭션 일괄 처리 기능에 참여합니다. 즉, SQL 데이터베이스에 대해 보류 중인 쓰기를 나타내는 개체를 WorkBatch에 추가하고 IPendingWork 인터페이스를 구현합니다.

SqlWorkflowPersistenceService는 워크플로 인스턴스의 잠금을 지원합니다. 이 기능은 여러 워크플로 런타임에서 같은 데이터베이스를 공유할 때 사용됩니다. SQL 데이터베이스 테이블의 열은 워크플로 인스턴스가 워크플로 런타임에서 사용될 때마다 잠김 상태로 표시하는 데 사용됩니다. SqlWorkflowPersistenceService에서는 다른 런타임에서 "사용 중"인 상태로 표시되는 워크플로 인스턴스를 로드하지 않습니다. 일반적으로 이러한 잠금은 유휴 상태, 완료 또는 종료처럼 워크플로 인스턴스가 유지될 때 해제됩니다. 또한 일정 시간 동안 사용하지 않을 경우 자동으로 잠금이 해제될 수 있습니다. 이 사용하지 않는 기간은 SqlWorkflowPersistenceService 클래스의 생성자를 사용하여 설정할 수 있습니다. 구성 파일을 통해서도 설정할 수 있습니다.

지 속성에 대 한 자세한 내용은 서비스 일반적으로, 참조는 WorkflowPersistenceService 클래스입니다.

예를 들어 워크플로 인스턴스에 DelayActivity가 있는 경우에는 타이머가 포함될 수 있습니다. 타이머를 포함하는 워크플로의 SqlWorkflowPersistenceService에서는 워크플로의 다음 타이머가 만료되는 시간을 기록합니다. SqlWorkflowPersistenceService에서는 데이터베이스를 주기적으로 폴링하여 타이머가 만료된 워크플로를 찾습니다. 폴링 간격의 빈도는 SqlWorkflowPersistenceService 생성자 또는 구성 파일을 사용하여 설정할 수 있습니다.

참고

워크플로 애플리케이션에 SqlTrackingServiceSqlWorkflowPersistenceService를 모두 사용하는 경우 단일 데이터베이스를 지속성과 추적에 모두 사용하는 것이 좋습니다.

생성자

SqlWorkflowPersistenceService(NameValueCollection)
사용되지 않음.

지정된 매개 변수를 사용하여 SqlWorkflowPersistenceService 클래스의 새 인스턴스를 초기화합니다.

SqlWorkflowPersistenceService(String)
사용되지 않음.

데이터베이스 연결 문자열을 사용하여 SqlWorkflowPersistenceService 클래스의 새 인스턴스를 초기화합니다.

SqlWorkflowPersistenceService(String, Boolean, TimeSpan, TimeSpan)
사용되지 않음.

데이터베이스 연결 문자열 및 다른 매개 변수를 사용하여 SqlWorkflowPersistenceService 클래스의 새 인스턴스를 초기화합니다.

속성

EnableRetries
사용되지 않음.

SqlWorkflowPersistenceService에서 작업 일괄 처리 커밋을 다시 시도할지 여부를 지정하는 값을 가져오거나 설정합니다.

LoadingInterval
사용되지 않음.

로딩 간격의 길이를 가져옵니다.

Runtime
사용되지 않음.

이 서비스에 대한 WorkflowRuntime을 가져옵니다.

(다음에서 상속됨 WorkflowRuntimeService)
ServiceInstanceId
사용되지 않음.

서비스 인스턴스 식별자를 가져옵니다.

State
사용되지 않음.

WorkflowRuntimeService의 상태를 가져옵니다.

(다음에서 상속됨 WorkflowRuntimeService)

메서드

Equals(Object)
사용되지 않음.

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetAllWorkflows()
사용되지 않음.

모든 지속된 워크플로에 대한 인스턴스 설명을 검색합니다.

GetHashCode()
사용되지 않음.

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

(다음에서 상속됨 Object)
GetType()
사용되지 않음.

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

(다음에서 상속됨 Object)
LoadCompletedContextActivity(Guid, Activity)
사용되지 않음.

지정한 완료된 범위를 데이터베이스에서 검색합니다.

LoadExpiredTimerWorkflowIds()
사용되지 않음.

만료된 타이머가 있는 워크플로의 ID 목록을 검색합니다.

LoadWorkflowInstanceState(Guid)
사용되지 않음.

데이터베이스에서 지정된 워크플로 인스턴스 상태를 검색합니다.

MemberwiseClone()
사용되지 않음.

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

(다음에서 상속됨 Object)
OnStarted()
사용되지 않음.

새 타이머를 시작하고 실행 중인 워크플로 인스턴스를 복구합니다.

OnStopped()
사용되지 않음.

파생 클래스에서 재정의되는 경우 워크플로 런타임 엔진이 Stopped 이벤트를 발생시킬 때 호출되는 메서드를 나타냅니다.

(다음에서 상속됨 WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)
사용되지 않음.

ServicesExceptionNotHandled 이벤트를 발생시킵니다.

(다음에서 상속됨 WorkflowRuntimeService)
SaveCompletedContextActivity(Activity)
사용되지 않음.

지정한 완료된 범위의 상태를 저장합니다.

SaveWorkflowInstanceState(Activity, Boolean)
사용되지 않음.

지정한 워크플로 인스턴스 상태를 저장합니다.

Start()
사용되지 않음.

SqlWorkflowPersistenceService를 시작합니다.

Stop()
사용되지 않음.

서비스 및 타이머를 중지합니다.

ToString()
사용되지 않음.

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

(다음에서 상속됨 Object)
UnloadOnIdle(Activity)
사용되지 않음.

워크플로가 유휴 상태일 때 언로드되는지 여부를 나타내는 값을 반환합니다.

UnlockWorkflowInstanceState(Activity)
사용되지 않음.

지정한 워크플로 인스턴스 상태에 대한 액세스의 잠금을 해제합니다.

명시적 인터페이스 구현

IPendingWork.Commit(Transaction, ICollection)
사용되지 않음.

serialize된 상태 개체의 ICollection을 데이터베이스에 씁니다.

IPendingWork.Complete(Boolean, ICollection)
사용되지 않음.

작업 일괄 처리를 완료하고 모든 리소스를 해제합니다.

IPendingWork.MustCommit(ICollection)
사용되지 않음.

serialize된 상태 개체 컬렉션을 데이터베이스에 쓸지 여부를 나타내는 값을 반환합니다.

적용 대상