TrackingService.TryGetProfile(Type, TrackingProfile) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.
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
- profile
- TrackingProfile
Diese Methode gibt das zu ladende TrackingProfile zurück. Dieser Parameter wird nicht initialisiert übergeben.
Gibt zurück
true
, wenn ein TrackingProfile für den angegebenen Workflow Type verfügbar ist, andernfalls false
. Wenn true
, wird das TrackingProfile in profile
zurückgegeben.
Beispiele
Im folgenden Beispiel wird eine Implementierung der TryGetProfile
-Methode veranschaulicht, die eine private GetProfile
-Methode aufruft. Dieses Beispiel stammt aus dem Termination Tracking Service SDK-Beispiel. Weitere Informationen finden Sie unter Beispiel für den Beendigungsnachverfolgungsdienst.
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. Sie können diese Verwaltung nach Bedarf beliebig implementieren. 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.