TrackingService.TryReloadProfile(Type, Guid, TrackingProfile) Método

Definição

Deve ser substituído na classe derivada e, quando implementado, recupera um novo perfil de acompanhamento para a instância de fluxo de trabalho especificada se o perfil de acompanhamento tiver sido alterado desde a última vez em que foi carregado.

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

Parâmetros

workflowType
Type

O Type da instância de fluxo de trabalho.

workflowInstanceId
Guid

O Guid da instância de fluxo de trabalho.

profile
TrackingProfile

Quando este método é retornado, ele contém o TrackingProfile a carregar. Este parâmetro é passado não inicializado.

Retornos

true caso um TrackingProfile novo deva ser carregado; caso contrário, false. Se true, o TrackingProfile será retornado no profile.

Exemplos

O exemplo a seguir mostra uma implementação básica do TryReloadProfile método . Este exemplo é do exemplo do SDK do Serviço de Acompanhamento de Terminação. Para obter mais informações, consulte Exemplo de serviço de acompanhamento de terminação.

/// <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

Comentários

TryReloadProfile é chamado pela infraestrutura de acompanhamento em tempo de execução para determinar se um novo TrackingProfile deve ser carregado para a instância de fluxo de trabalho especificada. Se um novo TrackingProfile for necessário, ele será retornado em profile. Se você quiser que a infraestrutura de acompanhamento em tempo de execução pare de acompanhar uma instância de fluxo de trabalho, seu serviço de acompanhamento deverá retornar true e definir profile igual a uma referência nula (Nothing no Visual Basic). Seu serviço de acompanhamento pode usar workflowType ou workflowInstanceId de qualquer maneira que você escolher para determinar se um perfil de acompanhamento deve ser recarregado. Por exemplo, o SqlTrackingService único usa workflowInstanceId para decidir se o perfil de rastreamento deve ser recarregado. TryReloadProfile é chamado pela infraestrutura de acompanhamento em tempo de execução de acordo com sua própria semântica de rastreamento ou em resposta ao host ou a uma chamada WorkflowInstance.ReloadTrackingProfiles de serviço em uma instância de fluxo de trabalho.

Aplica-se a