TrackingService.TryReloadProfile(Type, Guid, TrackingProfile) 方法

定義

必須在衍生類別中覆寫,而且在實作後,如果追蹤設定檔自上次載入後已變更,則擷取指定之工作流程執行個體的新追蹤設定檔。

protected public:
 abstract bool TryReloadProfile(Type ^ workflowType, Guid workflowInstanceId, [Runtime::InteropServices::Out] System::Workflow::Runtime::Tracking::TrackingProfile ^ % profile);
protected internal abstract bool TryReloadProfile (Type workflowType, Guid workflowInstanceId, out System.Workflow.Runtime.Tracking.TrackingProfile profile);
abstract member TryReloadProfile : Type * Guid * TrackingProfile -> bool
Protected Friend MustOverride Function TryReloadProfile (workflowType As Type, workflowInstanceId As Guid, ByRef profile As TrackingProfile) As Boolean

參數

workflowType
Type

工作流程執行個體的 Type

workflowInstanceId
Guid

工作流程執行個體的 Guid

profile
TrackingProfile

這個方法傳回時,包含要載入的 TrackingProfile。 這個參數會以未初始化的狀態傳遞。

傳回

Boolean

如果應載入新的 TrackingProfile 則為 true,否則為 false。 如果為 true,會在 TrackingProfile 中傳回 profile

範例

下列範例會示範 TryReloadProfile 方法的基本實作。 這個範例來自<暫止追蹤服務 SDK>範例。 如需詳細資訊,請參閱 終止追蹤服務範例

/// <summary>
/// Always returns false; this tracking service has no need to reload its tracking profile for a running instance.
/// </summary>
/// <param name="workflowType"></param>
/// <param name="workflowInstanceId"></param>
/// <param name="profile"></param>
/// <returns></returns>
protected override bool TryReloadProfile(Type workflowType, Guid workflowInstanceId, out TrackingProfile profile)
{
    //
    // There is no reason for this service to ever reload a profile
    profile = null;
    return false;
}
' Always returns false me tracking service has no need to reload its tracking profile for a running instance.
' <param name="workflowType"></param>
' <param name="workflowInstanceId"></param>
' <param name="profile"></param>
' <returns></returns>
Protected Overrides Function TryReloadProfile(ByVal workflowType As Type, ByVal workflowInstanceId As Guid, ByRef profile As TrackingProfile) As Boolean
    '
    ' There is no reason for me service to ever reload a profile
    profile = Nothing
    Return False
End Function

備註

執行階段追蹤基礎結構會呼叫 TryReloadProfile,判斷是否必須為指定的工作流程執行個體載入新的 TrackingProfile。 如果需要新的 TrackingProfile,會在 profile 中回。 如果要執行階段追蹤基礎結構停止追蹤工作流程執行個體,您的追蹤服務應傳回 true,並將 profile 設定為等於 null 參考 (在 Visual Basic 中為 Nothing)。 您的追蹤服務可以依您選擇的任何方法使用 workflowTypeworkflowInstanceId,判斷是否應重新載入追蹤設定檔。 例如,SqlTrackingService 僅使用 workflowInstanceId 決定是否應重新載入追蹤設定檔。 執行階段追蹤基礎結構會根據本身的追蹤語意,或回應呼叫工作流程執行個體上 TryReloadProfile 的主機或服務來呼叫 WorkflowInstance.ReloadTrackingProfiles

適用於