TrackingService.TryGetProfile(Type, TrackingProfile) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
파생 클래스에서 재정의되어야 하며, 구현되는 경우 지정된 워크플로 유형에 대한 추적 프로필(사용 가능한 경우)을 검색합니다.
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
매개 변수
- profile
- TrackingProfile
이 메서드가 반환되는 경우 로드할 TrackingProfile을 포함합니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.
반환
지정된 워크플로 true
에 대한 TrackingProfile을 사용할 수 있으면 Type이고, 그렇지 않으면 false
입니다. true
이면 TrackingProfile에 profile
이 반환됩니다.
예제
다음 예제에서는 프라이빗 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을 반환할 수도 있고, 워크플로 인스턴스, 워크플로 Type 및 Version에서 참조하는 복잡한 추적 프로필 저장소를 관리할 수도 있습니다.