다음을 통해 공유


TrackingService.TryGetProfile(Type, TrackingProfile) 메서드

정의

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

protected public:
 abstract bool TryGetProfile(Type ^ workflowType, [Runtime::InteropServices::Out] System::Workflow::Runtime::Tracking::TrackingProfile ^ % profile);
protected internal abstract bool TryGetProfile (Type workflowType, out System.Workflow.Runtime.Tracking.TrackingProfile profile);
abstract member TryGetProfile : Type * TrackingProfile -> bool
Protected Friend MustOverride Function TryGetProfile (workflowType As Type, ByRef profile As TrackingProfile) As Boolean

매개 변수

workflowType
Type

추적 프로필을 가져올 워크플로의 Type입니다.

profile
TrackingProfile

이 메서드가 반환되는 경우 로드할 TrackingProfile을 포함합니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.

반환

Boolean

지정된 워크플로 true에 대한 TrackingProfile을 사용할 수 있으면 Type이고, 그렇지 않으면 false입니다. true이면 TrackingProfileprofile이 반환됩니다.

예제

다음 예제에서는 프라이빗 TryGetProfile 메서드를 호출하는 GetProfile 메서드의 구현 방법을 보여 줍니다. 이 예제는 Termination Tracking Service SDK 샘플에 포함되어 있습니다. 자세한 내용은 종료 추적 서비스 샘플합니다.

class OrderServiceImpl : IOrderService
{
    string orderId;
    public WorkflowInstance instanceId;

    // Called by the workflow to pass an order id
    public void CreateOrder(string Id)
    {
        Console.WriteLine("\nPurchase Order Created in System");
        orderId = Id;
    }

    // Called by the host to approve an order
    public void ApproveOrder()
    {
        EventHandler<OrderEventArgs> orderApproved = this.OrderApproved;
        if (orderApproved != null)
            orderApproved(null, new OrderEventArgs(instanceId.InstanceId, orderId));
    }

    // Called by the host to reject an order
    public void RejectOrder()
    {
        EventHandler<OrderEventArgs> orderRejected = this.OrderRejected;
        if (orderRejected != null)
            orderRejected(null, new OrderEventArgs(instanceId.InstanceId, orderId));
    }

    // Events that handled within a workflow by HandleExternalEventActivity activities
    public event EventHandler<OrderEventArgs> OrderApproved;
    public event EventHandler<OrderEventArgs> OrderRejected;
}
Class OrderServiceImpl
    Implements IOrderService

    Dim orderId As String
    Public instanceId As WorkflowInstance

    ' Called by the workflow to pass an order id
    Public Sub CreateOrder(ByVal Id As String)

        Console.WriteLine("\nPurchase Order Created in System")
        orderId = Id
    End Sub

    ' Called by the host to approve an order
    Public Sub ApproveOrder()
        RaiseEvent OrderApproved(Nothing, New OrderEventArgs(instanceId.InstanceId, orderId))
    End Sub

    ' Called by the host to reject an order
    Public Sub RejectOrder()
        RaiseEvent OrderRejected(Nothing, New OrderEventArgs(instanceId.InstanceId, orderId))
    End Sub

    ' Events that handled within a workflow by HandleExternalEventActivity activities
    Public Event OrderApproved(ByVal sender As Object, ByVal e As OrderEventArgs) Implements IOrderService.OrderApproved
    Public Event OrderRejected(ByVal sender As Object, ByVal e As OrderEventArgs) Implements IOrderService.OrderRejected
End Class

설명

추적 서비스는 특정 워크플로 유형 및 특정 워크플로 인스턴스에 사용할 수 있는 추적 프로필을 관리하는 작업을 담당합니다. 어떤 방법이든 선택하여 이 관리를 구현할 수 있습니다. 예를 들어 모든 워크플로 TrackingProfile 및 워크플로 인스턴스에 대해 동일한 Type을 반환할 수도 있고, 워크플로 인스턴스, 워크플로 TypeVersion에서 참조하는 복잡한 추적 프로필 저장소를 관리할 수도 있습니다.

적용 대상