TrackingService 클래스

정의

주의

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

추적 서비스와 런타임 추적 인프라 간의 기본 인터페이스를 정의합니다.

public ref class TrackingService abstract : System::Workflow::Runtime::Hosting::WorkflowRuntimeService
public abstract class TrackingService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public abstract class TrackingService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
type TrackingService = class
    inherit WorkflowRuntimeService
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type TrackingService = class
    inherit WorkflowRuntimeService
Public MustInherit Class TrackingService
Inherits WorkflowRuntimeService
상속
TrackingService
파생
특성

설명

참고

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

추적 서비스는 추적 채널과 추적 프로필을 워크플로 런타임 엔진에 제공합니다. 워크플로 런타임 엔진은 TrackingChannel이 있는 각 워크플로 인스턴스에 대한 추적 서비스에서 하나의 TrackingProfile을 요청합니다. 워크플로 런타임 엔진은 이 TrackingChannel을 사용하여 해당 워크플로 인스턴스와 연결된 추적 레코드를 보냅니다. TrackingProfile은 런타임 추적 인프라에서 추적 레코드를 보내야 하는 추적 이벤트 집합을 지정하는 추적 지점을 포함합니다. TrackingProfile은 추적 이벤트 중 하나가 발생할 때 워크플로 인스턴스에서 추출할 데이터를 지정할 수도 있습니다.

런타임 추적 인프라는 TrackingProfile을 사용하여 워크플로 인스턴스에서 내보내는 추적 이벤트를 필터링합니다. TrackingProfile의 추적 지점과 일치하는 추적 이벤트를 내보낼 때 런타임 추적 인프라는 TrackingProfile에 지정된 모든 데이터를 워크플로 인스턴스에서 추출하고 이 데이터와 추적 이벤트 정보를 추적 레코드에 캡슐화합니다. 이 추적 레코드는 워크플로 인스턴스와 연결된 TrackingChannel을 통해 전송됩니다. 추적 레코드는 세 종류 중 하나일 수 있습니다.

ActivityTrackingRecord

UserTrackingRecord

WorkflowTrackingRecord

호스트 애플리케이션은 선택한 임의의 방식으로 추적 레코드를 사용할 수 있습니다. 예를 들어 호스트 애플리케이션은 추적 정보를 데이터베이스에 저장하고 이를 사용하여 복잡한 사용자 인터페이스를 구현하거나, 이 정보를 사용하여 관리자에게 일부 작업이 필요한 상태를 알릴 수 있습니다. WorkflowRuntime.AddService를 호출하거나 애플리케이션 구성 파일에 해당 항목을 포함하여 워크플로 런타임 엔진에 추적 서비스를 등록할 수 있습니다.

모든 추적 서비스는 TrackingService 추상 클래스에서 상속되어야 합니다. 이 클래스는 추적 서비스와 런타임 추적 인프라 간의 기본 인터페이스를 정의합니다. 워크플로 런타임 엔진은 오버로드된 TrackingProfile 메서드 또는 Type 메서드 중 하나를 호출하여 특정 워크플로 인스턴스나 워크플로 GetProfile에 대한 TryGetProfile을 요청합니다. 워크플로 런타임 엔진은 GetTrackingChannel을 호출하여 TrackingChannel을 요청합니다.

워크플로 런타임 엔진은 워크플로 인스턴스를 만들거나 지속성 저장소에서 로드할 때마다 GetProfileTryGetProfile 메서드를 호출합니다. 이러한 호출과 연결된 오버헤드로 인해 추적 서비스의 비용이 증가할 수 있습니다(예: 많은 데이터베이스 호출). 추적 서비스에 IProfileNotification 인터페이스를 구현하여 이러한 호출 기반 메커니즘을 우회하고 이벤트를 사용하여 TrackingProfile 변경 내용을 워크플로 런타임 엔진에 알릴 수 있습니다. IProfileNotification 인터페이스를 구현하는 추적 서비스의 경우 워크플로 런타임 엔진은 ProfileUpdatedProfileRemoved 이벤트를 구독합니다. 추적 서비스는 추적 프로필 중 하나가 변경될 때 해당 이벤트를 발생시킬 수 있습니다. SqlTrackingService 클래스는 이 인터페이스를 구현합니다.

워크플로 런타임 엔진은 TryReloadProfile 메서드를 호출하여 호스트나 서비스가 워크플로 인스턴스에서 TrackingProfile를 명시적으로 호출한 결과 ReloadTrackingProfiles이 업데이트 또는 제거되었는지 테스트합니다. 이 프로세스를 통해 호스트나 서비스는 특정 워크플로 인스턴스에 사용되는 추적 프로필을 동적으로 변경할 수 있습니다.

구현자 참고

생성자

TrackingService()
사용되지 않음.

파생 클래스에서 구현되는 경우에는 TrackingService 클래스의 새 인스턴스를 초기화합니다.

속성

Runtime
사용되지 않음.

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

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

WorkflowRuntimeService의 상태를 가져옵니다.

(다음에서 상속됨 WorkflowRuntimeService)

메서드

Equals(Object)
사용되지 않음.

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

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

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

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

파생 클래스에서 재정의되어야 하며, 구현되는 경우 지정된 워크플로 인스턴스에 대한 추적 프로필을 반환합니다.

GetProfile(Type, Version)
사용되지 않음.

파생 클래스에서 재정의되어야 하며, 구현되는 경우 지정된 워크플로 Type에 대한 버전으로 정규화된 추적 프로필을 반환합니다.

GetTrackingChannel(TrackingParameters)
사용되지 않음.

파생 클래스에서 재정의되어야 하며, 구현되는 경우 런타임 추적 인프라가 추적 레코드를 추적 서비스로 보내는 데 사용하는 채널을 반환합니다.

GetType()
사용되지 않음.

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

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

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

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

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

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

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

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

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

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

파생 클래스에서 재정의되는 경우 서비스를 시작하고 StateStarting으로 변경합니다.

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

파생 클래스에서 재정의되는 경우 서비스를 중지하고 StateStopping으로 변경합니다.

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

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

(다음에서 상속됨 Object)
TryGetProfile(Type, TrackingProfile)
사용되지 않음.

파생 클래스에서 재정의되어야 하며, 구현되는 경우 지정된 워크플로 유형에 대한 추적 프로필(사용 가능한 경우)을 검색합니다.

TryReloadProfile(Type, Guid, TrackingProfile)
사용되지 않음.

파생 클래스에서 재정의되어야 하며, 구현되는 경우 추적 프로필이 마지막으로 로드된 이후 변경되었으면 지정된 워크플로 인스턴스에 대한 새 추적 프로필을 검색합니다.

적용 대상

추가 정보