Compartir a través de


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

Definición

Se debe invalidar en la clase derivada y, cuando se implementa, recupera un nuevo perfil de seguimiento para la instancia de flujo de trabajo especificada si el perfil de seguimiento cambió desde que se cargó por última vez.

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

Type de la instancia de flujo de trabajo.

workflowInstanceId
Guid

Guid de la instancia de flujo de trabajo.

profile
TrackingProfile

Cuando este método devuelve datos, contiene el TrackingProfile que se debe cargar. Este parámetro se pasa sin inicializar.

Devoluciones

Boolean

Es true si se debe cargar un nuevo TrackingProfile; de lo contrario, es false. Si es true, se devolverá el TrackingProfile en profile.

Ejemplos

En el siguiente ejemplo se muestra una implementación básica del método TryReloadProfile. Este ejemplo pertenece al ejemplo SDK del servicio de seguimiento de finalización. Para obtener más información, consulte Ejemplo de servicio de seguimiento de terminación.

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

Comentarios

La infraestructura de seguimiento en tiempo de ejecución llama a TryReloadProfile para determinar si se debe cargar un nuevo TrackingProfile para la instancia de flujo de trabajo especificada. Si se requiere un nuevo TrackingProfile, se devuelve en profile. Si desea que la infraestructura de seguimiento en tiempo de ejecución deje de realizar el seguimiento de una instancia de flujo de trabajo, su servicio de seguimiento debe devolver true y establecer profile igual a una referencia nula (Nothing en Visual Basic). El servicio de seguimiento puede utilizar workflowType o workflowInstanceId tal como desee para determinar si se debe recargar un perfil de seguimiento. Por ejemplo, SqlTrackingService solo utiliza workflowInstanceId para decidir si se debe recargar el perfil de seguimiento. La infraestructura de seguimiento en tiempo de ejecución llama a TryReloadProfile según su propia semántica de seguimiento o en respuesta a una llamada del host o un servicio a WorkflowInstance.ReloadTrackingProfiles en una instancia de flujo de trabajo.

Se aplica a