TrackingService.TryGetProfile(Type, TrackingProfile) Methode

Definition

Muss in der abgeleiteten Klasse überschrieben werden und ruft bei der Implementierung das Verfolgungsprofil für den angegebenen Workflowtyp ab, sofern ein Typ verfügbar ist.Must be overridden in the derived class, and when implemented, retrieves the tracking profile for the specified workflow type if one is available.

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

Parameter

workflowType
Type

Type des Workflows, für den das Verfolgungsprofil abgerufen werden soll.The Type of the workflow for which to get the tracking profile.

profile
TrackingProfile

Diese Methode gibt das zu ladende TrackingProfile zurück.When this method returns, contains the TrackingProfile to load. Dieser Parameter wird nicht initialisiert übergeben.This parameter is passed uninitialized.

Gibt zurück

true, wenn ein TrackingProfile für den angegebenen Workflow Type verfügbar ist, andernfalls false.true if a TrackingProfile for the specified workflow Type is available; otherwise, false. Wenn true, wird das TrackingProfile in profile zurückgegeben.If true, the TrackingProfile is returned in profile.

Beispiele

Im folgenden Beispiel wird eine Implementierung der TryGetProfile-Methode veranschaulicht, die eine private GetProfile-Methode aufruft.The following example demonstrates an implementation of the TryGetProfile method, which calls a private GetProfile method. Dieses Beispiel stammt aus dem Termination Tracking Service SDK-Beispiel.This example is from the Termination Tracking Service SDK sample. Weitere Informationen finden Sie unter Beispiel für den Abbruch Verfolgungs Dienst.For more information, see Termination Tracking Service Sample.

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

Hinweise

Ein Überwachungsdienst übernimmt die Verwaltung der für bestimmte Workflowtypen und Workflowinstanzen verfügbaren Verfolgungsprofile.A tracking service is responsible for managing the tracking profiles available for specific workflow types and specific workflow instances. Sie können diese Verwaltung nach Bedarf beliebig implementieren.You can implement this management in whatever manner you choose. Sie können z. B. dasselbe TrackingProfile für jeden Workflow-Type und jede Workflowinstanz zurückgeben; oder Sie verwalten einen erweiterten Speicher mit Verfolgungsprofilen, auf die von der Workflowinstanz, dem Workflow-Type und Version verwiesen wird.For example, you can return the same TrackingProfile for every workflow Type and workflow instance; or you can manage a sophisticated store of tracking profiles referenced by workflow instance, workflow Type, and Version.

Gilt für: