TrackingService.TryReloadProfile(Type, Guid, TrackingProfile) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- profile
- TrackingProfile
Cuando este método devuelve datos, contiene el TrackingProfile que se debe cargar. Este parámetro se pasa sin inicializar.
Devoluciones
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.