Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este tema es aplicable a Windows Workflow Foundation 4.
Este ejemplo muestra cómo realizar una correlación basada en contenidos mediante una implementación de MessageQuery personalizada en contraposición a XPathMessageQuery proporcionado por el sistema.
Demostraciones
MessageQuery personalizado, correlación basada en contenidos.
Análisis
En este ejemplo se muestra cómo realizar una ampliación a partir de la clase base MessageQuery para propósitos de correlación. La implementación personalizada, LinqMessageQuery
, permite a los usuarios proporcionar un XName para encontrar dentro del mensaje utilizando XLinq. Los datos recuperados por la consulta se utilizan para formar la clave de correlación para enviar los mensajes a la instancia de flujo de trabajo adecuada.
Para configurar, compilar y ejecutar el ejemplo
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%
Una vez agregadas las listas de control de acceso de dirección URL, siga estos pasos.
Compile la solución.
Establezca varios proyectos de inicio haciendo clic con el botón secundario en la solución y seleccionando Establecer proyectos de inicio. Agregue Servicio y Cliente (en ese orden) como proyectos de inicio múltiple.
Ejecute la aplicación. La consola del cliente muestra un flujo de trabajo que envía un pedido y recibe el id. del pedido de compra y, a continuación, confirma el pedido. La ventana Servicio mostrará las solicitudes que se están procesando.
![]() |
---|
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.
<InstallDrive>: \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.
<InstallDrive>:\WF_WCF_Samples\WF\Scenario\Services\LinqMessageQueryCorrelation
|