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
Параметры
- profile
- TrackingProfile
При возврате этим методом, он содержит класс TrackingProfile для загрузки. Этот параметр передается неинициализированным.
Возвращаемое значение
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 для экземпляра рабочего процесса.