다음을 통해 공유


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이면 TrackingProfileprofile이 반환됩니다.

예제

다음 예제에서는 TryReloadProfile 메서드의 기본 구현을 보여 줍니다. 이 예제는 Termination Tracking Service 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를 사용할 수 있습니다. 예를 들어 SqlTrackingServiceworkflowInstanceId를 사용하여 추적 프로필을 다시 로드할지 여부를 결정합니다. TryReloadProfile은 자체의 추적 의미 체계에 따라 또는 워크플로 인스턴스에서 WorkflowInstance.ReloadTrackingProfiles를 호출하는 호스트나 서비스에 대한 응답으로 런타임 추적 인프라에 의해 호출됩니다.

적용 대상