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 preparar y configurar la característica de recepción almacenada en búfer en Windows Workflow Foundation (WF). La recepción almacenada en búfer permite al autor del flujo de trabajo crear un flujo de trabajo sin tener que preocuparse por el orden en el que se reciben los mensajes. Este tipo de recepción almacena en búfer los mensajes localmente y los entrega cuando el flujo de trabajo está listo para recibirlos.
Demostraciones
Procesamiento desordenado de mensajes utilizando la recepción almacenada en búfer con actividades de mensajería.
![]() |
---|
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\Basic\Services\BufferedReceive
|
Análisis
En este ejemplo, un servicio de Windows Communication Foundation (WCF) se implementa utilizando WF y tiene una secuencia de las actividades Receive. Este flujo de trabajo modela un proceso de aprobación de préstamos simple en el que el flujo de trabajo espera tres notificaciones para que se apruebe un préstamo. Una aplicación cliente de Windows Communication Foundation (WCF) envía tres notificaciones puestas en correlación en el orden inverso al que el servicio espera. Dado que la característica de recepción almacenada en búfer está activada en el servicio, cada mensaje desordenado se almacena en búfer en el servicio y se procesa cuando el flujo de trabajo está listo para recibirlo.
La característica de recepción almacenada en búfer requiere la compatibilidad con ReceiveContent por parte del enlace; por consiguiente, el servicio utiliza NetMsmqBinding. No se requiere ninguna configuración especial para el enlace, por lo que se utilizan los valores predeterminados.
<endpoint address ="net.msmq://localhost/private/LoanService/Service1.xamlx"
binding="netMsmqBinding"
contract="ILoanService"/>
El servicio también expone metadatos para el servicio utilizando ServiceMetadataBehavior.
De igual forma, el extremo del cliente se configura utilizando NetMsmqBinding. El código de cliente y la configuración se generan utilizando la característica Agregar referencia de servicio de Visual Studio. El siguiente ejemplo muestra el extremo de cliente generado en el archivo App.config.
<endpoint address="net.msmq://localhost/private/LoanService/Service1.xamlx"
binding="netMsmqBinding" bindingConfiguration="NetMsmqBinding_ILoanService"
contract="ServiceReference1.ILoanService" name="NetMsmqBinding_ILoanService" />
En este ejemplo se requiere que los siguientes componentes de Windows estén habilitados:
Internet Information Services (IIS) 6.0
Internet Information Services (IIS) 6.0 Compatibilidad con la administración, Metabase y Compatibilidad con la configuración
Servicios World Wide Web, Características de desarrollo de aplicaciones y ASP.NET
Microsoft Message Queue Server (MSMQ)
Para configurar y compilar el ejemplo
En un símbolo del sistema de Visual Studio 2010, registre ASP.NET escribiendo
aspnet_regiis –I
y presione ENTRAR.Ejecute Visual Studio 2010 como administrador.
Abra LoanService.sln.
Cuando se le pregunte si desea crear los directorios virtuales del proyecto LoanService, seleccione Sí.
Para configurar las colas de servicio
Presione F5 para ejecutar la aplicación LoanClient que crea las colas y activa el servicio definido en Service1.xamlx.
Abra la consola Administración del equipo ejecutando Compmgmt.msc desde un símbolo del sistema.
En la consola Administración del equipo, expanda Servicios y Aplicaciones, Message Queue Server, Colas privadas.
Haga clic con el botón secundario del mouse en la cola loanservice/service1.xamlx y seleccione Propiedades.
Seleccione la pestaña Seguridad y agregue los permisos Todos reciben mensaje, Inspeccionar mensaje y Enviar mensaje.
Abra el Administrador de Internet Information Services (IIS) 6.0 .
Navegue hasta Servidor, Sitios, Sitio web predeterminado, Privado, LoanService y seleccione Opciones avanzadas
Cambie los Protocolos habilitados para que sean http, net.msmq.
Para ejecutar el ejemplo
Vaya a https://localhost/private/loanservice/service1.xamlx para asegurarse de que el servicio se está ejecutando.
Presione F5 para ejecutar la aplicación LoanClient. Cuando el flujo de trabajo finaliza, se debe guardar un archivo out.txt en C:\Inbox que contenga el resultado del intercambio de mensajes.
Para realizar una limpieza
Abra la consola Administración del equipo ejecutando Compmgmt.msc desde un símbolo del sistema.
Expanda Servicios y Aplicaciones, Message Queue Server, Colas privadas.
Elimine la cola loanservice/service1 .xamlx.
Quite el directorio C:\Inbox.
![]() |
---|
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\Basic\Services\BufferedReceive
|