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.
En este ejemplo se muestra cómo crear un modelo de actividad de mensajería de convoy paralelo junto con un objeto TransactedReceiveScope para modelar un protocolo donde varias operaciones pueden suceder en cualquier orden y todas en la misma transacción. Este ejemplo también muestra cómo TransactedReceiveScope crea automáticamente una nueva transacción cuando una no fluye al servidor, de modo que el cliente no utiliza ninguna transacción.
El ejemplo consta de dos proyectos de flujo de trabajo que representan el cliente y el servidor. El proyecto de cliente ejecuta un flujo de trabajo que comienza enviando a un mensaje que arranca el flujo de trabajo del servidor, que a su vez inicializa una correlación e inicia un ámbito transaccional para el resto de las actividades de mensajería. La actividad Sequence del cliente contiene una pareja de Send y ReceiveReply inicial y una actividad Parallel con tres bifurcaciones. Cada bifurcación envía un mensaje unidireccional al servidor. La propiedad CompletionCondition de la actividad Parallel está establecida en false para que las tres bifurcaciones se completen.
El flujo de trabajo del servidor es similar al flujo de trabajo del cliente excepto que las actividades de mensajería se orientan hacia el lado del servidor de la comunicación y se incluyen dentro de una actividad TransactedReceiveScope para que todo el trabajo realizado se ejecute bajo la misma transacción. Cuando el primer mensaje se recibe en el servidor, se crea una transacción y se establece como transacción ambiente para el ámbito del cuerpo de TransactedReceiveScope de modo que cualquier actividad dentro de este ámbito pueda tener acceso a la transacción. Después de esto, todo lo que se recibe se ejecuta en paralelo. Todas las recepciones deben ejecutarse exactamente una vez, según describe la condición de finalización de la actividad paralela. Al final del cuerpo de TransactedReceiveScope existe un punto de persistencia implícito y la operación de persistencia también se ejecuta bajo la misma transacción.
Para utilizar este ejemplo
Con Visual Studio 2010, abra el archivo de solución ParallelConvoySample.sln.
Presione F6 para compilar la solución.
Asegúrese de que ambos proyectos están establecidos para iniciarse.
En el Explorador de soluciones, haga clic con el botón secundario en la solución y seleccione Establecer proyectos de inicio.
Seleccione Proyectos de inicio múltiples y asegúrese de que la acción para ambos proyectos se establece en Iniciar.
Presione CTRL+F5 para ejecutar la solución.
El servidor imprime
Server is running
, que indica que el servidor está listo.Presione cualquier tecla en la ventana de la consola del cliente para iniciar el ejemplo.
![]() |
---|
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\Transactions\TransactedConvoyScope
|