TrackingService.TryGetProfile(Type, TrackingProfile) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Należy przesłonić w klasie pochodnej, a po zaimplementowaniu pobiera profil śledzenia dla określonego typu przepływu pracy, jeśli jest dostępny.
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
Parametry
- profile
- TrackingProfile
Gdy ta metoda zwróci wartość , element zawiera element do załadowania TrackingProfile . Ten parametr jest przekazywany jako niezainicjowany.
Zwraca
true
jeśli dla TrackingProfile określonego przepływu pracy Type jest dostępny; w przeciwnym razie . false
Jeśli true
parametr jest zwracany w elemecie TrackingProfile profile
.
Przykłady
W poniższym przykładzie pokazano implementację TryGetProfile
metody , która wywołuje metodę prywatną GetProfile
. Ten przykład pochodzi z przykładowego zestawu SDK usługi Termination Tracking Service. Aby uzyskać więcej informacji, zobacz Przykład usługi śledzenia zakończenia.
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
Uwagi
Usługa śledzenia jest odpowiedzialna za zarządzanie profilami śledzenia dostępnymi dla określonych typów przepływów pracy i określonych wystąpień przepływu pracy. To zarządzanie można zaimplementować w dowolny sposób. Można na przykład zwrócić te same wartości TrackingProfile dla każdego wystąpienia przepływu pracy i przepływu pracy. Można też zarządzać zaawansowanym magazynem profilów śledzenia, do których odwołuje się wystąpienie przepływu pracy Type , przepływ pracy Typei Version.