TrackingService.TryReloadProfile(Type, Guid, TrackingProfile) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
必須在衍生類別中覆寫,而且在實作後,如果追蹤設定檔自上次載入後已變更,則擷取指定之工作流程執行個體的新追蹤設定檔。
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
參數
- profile
- TrackingProfile
這個方法傳回時,包含要載入的 TrackingProfile。 這個參數會以未初始化的狀態傳遞。
傳回
如果應載入新的 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
)。 您的追蹤服務可以依您選擇的任何方法使用 workflowType
或 workflowInstanceId
,判斷是否應重新載入追蹤設定檔。 例如,SqlTrackingService 僅使用 workflowInstanceId
決定是否應重新載入追蹤設定檔。 執行階段追蹤基礎結構會根據本身的追蹤語意,或回應呼叫工作流程執行個體上 TryReloadProfile 的主機或服務來呼叫 WorkflowInstance.ReloadTrackingProfiles。