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
设置为等于空引用(在 Visual Basic 中为 Nothing
)。 跟踪服务可以采用您选择的任何方式使用 workflowType
或 workflowInstanceId
,以确定是否应重新加载跟踪配置文件。 例如,SqlTrackingService 只使用 workflowInstanceId
来决定是否应重新加载跟踪配置文件。 运行时跟踪基础结构根据其自己的跟踪语义或响应对工作流实例调用 TryReloadProfile 的宿主或服务,以调用 WorkflowInstance.ReloadTrackingProfiles。