Compartir a través de


Obtener acceso a OperationContext

Este tema es aplicable a Windows Workflow Foundation 4.

En este ejemplo se muestra cómo se pueden utilizar las actividades de mensajería (Receive y Send) con una actividad de ámbito personalizada para tener acceso a Current y adjuntar o recuperar un encabezado de mensaje personalizado dentro de un mensaje de salida o entrante.

Demostraciones

Actividades de mensajería, ISendMessageCallback, IReceiveMessageCallback.

Análisis

En este ejemplo se muestra cómo utilizar puntos de extensibilidad (ISendMessageCallback y IReceiveMessageCallback) en las actividades de mensajería para tener acceso a Current. Las devoluciones de llamada se registran dentro del tiempo de ejecución del flujo de trabajo como una implementación de IExecutionProperty que utilizan las actividades de mensajería en la ejecución. Se ven afectadas todas las actividades de mensajería incluidas en el mismo ámbito que la implementación de IExecutionProperty. Concretamente, en este ejemplo se utiliza una actividad de ámbito personalizada para exigir el comportamiento de devolución de llamada. En el flujo de trabajo del cliente se utiliza la interfaz ISendMessageCallback para incluir la propiedad Id del flujo de trabajo como una clase MessageHeader de salida. A continuación, este encabezado se utiliza en el servicio mediante la interfaz IReceiveMessageCallback, y su valor se imprime en la consola.

Para configurar, compilar y ejecutar el ejemplo

  1. En este ejemplo se expone un servicio del flujo de trabajo mediante extremos HTTP. Para realizar este ejemplo, se deben agregar listas de control de acceso de dirección URL adecuadas (vea Configuración de HTTP y HTTPS para obtener más información) ejecutando Visual Studio como administrador o el siguiente comando en una ventana de símbolo del sistema elevado para agregar las listas de control de acceso adecuadas. Asegúrese de que su dominio y su nombre de usuario se sustituyen.

    netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
    
  2. Una vez agregadas las listas de control de acceso de dirección URL, siga estos pasos.

    1. Compile la solución.

    2. Establezca varios proyectos de inicio haciendo clic con el botón secundario en la solución y seleccionando Establecer proyectos de inicio.

    3. Agregue Service y Client (en ese orden) como proyectos de inicio múltiples.

    4. Ejecute la aplicación. La consola del cliente muestra un flujo de trabajo que se ejecuta dos veces y la ventana Service muestra el identificador de instancia de estos flujos de trabajo.

Ee834517.Important(es-es,VS.100).gif Nota:
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.

<unidadDeInstalación>:\WF_WCF_Samples

Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de Windows Communication Foundation (WCF) y WF. Este ejemplo se encuentra en el siguiente directorio.

<unidadDeInstalación>:\WF_WCF_Samples\WF\Scenario\Services\Accessing Operation Context