TrackingService.TryGetProfile(Type, TrackingProfile) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
派生クラス内でオーバーライドされる必要があります。実装されると、特定のワークフロー型 (存在する場合) に関する追跡プロファイルを取得します。
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
パラメーター
- profile
- TrackingProfile
このメソッドから制御が戻るときに、読み込む TrackingProfile を格納します。 このパラメーターは初期化せずに渡されます。
戻り値
指定したワークフロー true
の TrackingProfile が存在する場合は Type。それ以外の場合は false
。
true
の場合、TrackingProfile は profile
で返されます。
例
プライベート TryGetProfile
メソッドを呼び出す GetProfile
メソッドを実装する方法の例を次に示します。 この例は、終了追跡サービスの SDK サンプルです。 詳細については、「 終了追跡サービスのサンプル」を参照してください。
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
注釈
追跡サービスは、特定の種類のワークフローとインスタンスに利用できる追跡プロファイルを管理します。 この管理機能は、どのような方法でも実装できます。 たとえば、すべてのワークフローの TrackingProfile およびワークフロー インスタンスに対して同じ Type を返すことができます。また、ワークフロー インスタンス、ワークフローの Type、および Version によって参照される追跡プロファイルの保存場所を管理することもできます。
適用対象
.NET