Sdílet prostřednictvím


TrackingService.TryGetProfile(Type, TrackingProfile) Metoda

Definice

Je nutné přepsat v odvozené třídě a při implementaci načte sledovací profil pro zadaný typ pracovního postupu, pokud je k dispozici.

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

workflowType
Type

Pracovní Type postup, pro který chcete získat profil sledování.

profile
TrackingProfile

Když tato metoda vrátí, obsahuje TrackingProfile hodnotu k načtení. Tento parametr se předává neinicializovaný.

Návraty

true TrackingProfile pokud je k dispozici parametr pro zadaný pracovní postupType, falsev opačném případě . Pokud true, vrátí se TrackingProfile hodnota v profile.

Příklady

Následující příklad ukazuje implementaci TryGetProfile metody, která volá privátní GetProfile metodu. Tento příklad je z ukázky sady SDK služby Sledování ukončení. Další informace najdete v tématu Ukázka služby sledování ukončení.

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

Poznámky

Sledovací služba zodpovídá za správu sledovacích profilů dostupných pro konkrétní typy pracovních postupů a konkrétní instance pracovního postupu. Tuto správu můžete implementovat libovolným způsobem. Můžete například vrátit stejný TrackingProfile kód pro každý pracovní postup Type a instanci pracovního postupu nebo můžete spravovat sofistikované úložiště sledovacích profilů, na které odkazují instance pracovního postupu, pracovní postup Typea Version.

Platí pro