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

true, если нужно загрузить новый класс TrackingProfile; в противном случае — false. Если объект имеет значение true, то класс TrackingProfile возвращается в параметре profile.

Примеры

В следующем примере показана простая реализация метода TryReloadProfile. Данный пример является частью примера SDK "Termination Tracking Service". Дополнительные сведения см. в примере службы отслеживания завершения.

/// <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 значение пустой ссылки (Nothing в Visual Basic). Служба отслеживания может использовать параметр workflowType или параметр workflowInstanceId любым, выбранным вами, методом для определения, следует ли перезагрузить профиль отслеживания. Например, SqlTrackingService использует только workflowInstanceId, чтобы определить, требуется ли перезагрузка профиля отслеживания. TryReloadProfile вызывается инфраструктурой отслеживания среды выполнения в соответствии с ее собственной семантикой отслеживания или в ответ на вызов узлом или службой метода WorkflowInstance.ReloadTrackingProfiles для экземпляра рабочего процесса.

Применяется к