Get WorkflowInstanceId
En el ejemplo de GetWorkflowInstanceId, se muestra cómo usar la actividad personalizada GetWorkflowInstanceId
para devolver el identificador de la instancia de flujo de trabajo.
Muestra
Desarrollo de actividades personalizadas, cómo tener acceso a la instancia de flujo de trabajo.
Debate
La obtención del Id. de instancia de un flujo de trabajo en ejecución requiere código de escritura. Si desea escribir un flujo de trabajo totalmente declarativo, necesita una actividad que pueda devolver el identificador de la instancia de flujo de trabajo para que se pueda hacer referencia a la actividad en el flujo de trabajo a fin de proporcionar un flujo de trabajo totalmente declarativo que cree la experiencia. Muchos escenarios requieren tener acceso al Id. de instancia: algunos ejemplos son para registrar o auditar propósitos o para realizar una correlación en la aplicación proporcionando el Id. de instancia a un cliente para su asociación futura (por ejemplo, utilizando esta actividad dentro de una actividad SendReply).
GetWorkflowInstanceId
se implementa como un objeto CodeActivity<TResult> porque debe devolver un valor de tipo Guid y debe tener acceso a CodeActivityContext para obtener el identificador de la instancia del flujo de trabajo. Su implementación es bastante básica.
public sealed class GetWorkflowInstanceId : CodeActivity<Guid>
{
protected override Guid Execute(CodeActivityContext context)
{
return context.WorkflowInstanceId;
}
}