Condividi tramite


TrackingService.TryReloadProfile(Type, Guid, TrackingProfile) Metodo

Definizione

Deve essere sottoposto a override nella classe derivata e, in caso di implementazione, recupera un profilo di rilevamento nuovo per l'istanza del flusso di lavoro specificata, se il profilo di rilevamento è stato modificato dall'ultimo caricamento.

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

Parametri

workflowType
Type

Type di istanza del flusso di lavoro.

workflowInstanceId
Guid

Guid di istanza del flusso di lavoro.

profile
TrackingProfile

Quando termina, questo metodo contiene l'elemento TrackingProfile da caricare. Questo parametro viene passato non inizializzato.

Restituisce

Boolean

true se è necessario caricare un nuovo TrackingProfile; in caso contrario, false. Se true, l'elemento TrackingProfile verrà restituito in profile.

Esempio

Nel codice seguente viene illustrata un'implementazione di base del metodo TryReloadProfile. Questo esempio è tratto dall'esempio SDK Termination Tracking Service. Per altre informazioni, vedere Esempio di servizio di rilevamento della terminazione.

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

Commenti

Il metodo TryReloadProfile viene chiamato dall'infrastruttura di controllo della fase di esecuzione per determinare se è necessario caricare un nuovo oggetto TrackingProfile per l'istanza del flusso di lavoro specificata. Se è necessario un nuovo TrackingProfile esso viene restituito in profile. Se si desidera che l'infrastruttura di controllo della fase di esecuzione interrompa il rilevamento di un'istanza del flusso di lavoro, il servizio di rilevamento deve restituire true e impostare profile su un riferimento null (Nothing in Visual Basic). Il servizio di rilevamento può utilizzare workflowType o workflowInstanceId nel modo desiderato per determinare se un profilo di rilevamento deve essere ricaricato. Ad esempio, l'oggetto SqlTrackingService utilizza solo workflowInstanceId per decidere se il profilo di rilevamento deve essere ricaricato. Il metodo TryReloadProfile viene chiamato dall'infrastruttura di controllo della fase di esecuzione in base alla relativa semantica di rilevamento oppure in risposta all'host o a un servizio che chiama WorkflowInstance.ReloadTrackingProfiles in un'istanza del flusso di lavoro.

Si applica a