Compartir vía


Obtener WorkflowInstanceId

El ejemplo GetWorkflowInstanceId muestra cómo usar la actividad personalizada para GetWorkflowInstanceId devolver el identificador de instancia de flujo de trabajo.

Demostraciones

Desarrollo de actividades personalizadas, cómo acceder a la instancia de flujo de trabajo.

Discusión

La obtención del identificador de instancia de un flujo de trabajo en ejecución requiere escribir código. Si desea escribir un flujo de trabajo totalmente declarativo, necesita una actividad que pueda devolver el identificador de instancia de flujo de trabajo para que se pueda hacer referencia a la actividad en el flujo de trabajo para proporcionar una experiencia de creación de flujo de trabajo totalmente declarativa. Muchos escenarios requieren acceso al identificador de instancia: algunos ejemplos son para fines de registro o auditoría o para realizar la correlación de nivel de aplicación proporcionando el identificador de instancia a un cliente para una asociación futura (por ejemplo, mediante este uso de esta actividad dentro de una actividad SendReply).

GetWorkflowInstanceId se implementa como un CodeActivity<TResult> porque debe devolver un valor de tipo Guid, y debe tener acceso a CodeActivityContext para obtener el identificador de 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;
    }
}