TrackingService.TryGetProfile(Type, TrackingProfile) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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, false
v 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.