Aracılığıyla paylaş


TrackingService.TryGetProfile(Type, TrackingProfile) Yöntem

Tanım

Türetilmiş sınıfta geçersiz kılınmalıdır ve uygulandığında, varsa belirtilen iş akışı türü için izleme profilini alır.

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

Parametreler

workflowType
Type

Type İzleme profilinin alındığı iş akışı.

profile
TrackingProfile

Bu yöntem döndürdüğünde TrackingProfile , yük öğesini içerir. Bu parametre, başlatmadan iletilir.

Döndürülenler

Boolean

truebelirtilen iş akışı için bir TrackingProfile varsa; yoksa, false.Type ise true, içinde TrackingProfile profiledöndürülür.

Örnekler

Aşağıdaki örnek, özel GetProfile bir yöntemi çağıran yönteminin TryGetProfile uygulamasını gösterir. Bu örnek, Sonlandırma İzleme Hizmeti SDK'sı örneğinden alınmalıdır. Daha fazla bilgi için bkz . Sonlandırma İzleme Hizmeti Örneği.

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

Açıklamalar

İzleme hizmeti, belirli iş akışı türleri ve belirli iş akışı örnekleri için kullanılabilen izleme profillerini yönetmekle sorumludur. Bu yönetimi istediğiniz şekilde uygulayabilirsiniz. Örneğin, her iş akışı ve iş akışı örneği için aynı TrackingProfile değeri döndürebilir veya iş akışı örneği, iş Type akışı Typeve Versiontarafından başvuruda bulunılan gelişmiş izleme profilleri depolarını yönetebilirsiniz.

Şunlara uygulanır