2011-02-15 10 views
11

Estoy buscando algunos buenos ejemplos reales de interacción entre Windows Presentation Foundation y Workflow Foundation. La mayoría de los tutoriales de WF que veo demuestran su uso dentro de las aplicaciones de la consola. Tengo más curiosidad acerca de las aplicaciones que usan una rica interfaz WPF y WF. Particularmente si permiten flujos de trabajo definidos por el usuario (permiten a los usuarios diseñar y ejecutar sus propios flujos de trabajo sobre la marcha).Real World Ejemplos de WF y WPF Interaction

Respuesta

3

no estoy seguro de qué es exactamente lo que está buscando, pero aquí hay algunos enlaces a información sobre las aplicaciones del mundo real utilizando reales de flujo de trabajo en el escritorio (WPF) en aplicaciones de una manera u otra:

+0

HI Damir, usted mencionó un enlace de archivo de palabras en esta respuesta. Pero ahora este archivo ya no está disponible. Entonces, si descargó ese archivo, ¿puede compartirlo conmigo? –

+0

@HirenVisavadiya Lo siento. Aunque descargué y leí el documento en ese momento cuando investigué WF para un posible proyecto, ya no lo tengo. –

2

me dejó tomar el ejemplo de tratar de hacer dos flujos de trabajo se comunican entre sí.

  1. Primero necesita escribir un host. Esta es una propuesta extremadamente cargada, porque para que dos anfitriones de WF hablen entre sí, también necesitarás saber WCF y todos los conceptos de enhebrado.
  2. Luego su WF necesitará comunicarse con otros WF a través de los hosts. Esto tiene sentido porque un WF no se ejecuta en la memoria durante 3 meses, cuando está esperando que otro WF envíe un evento. WF se encuentra en la base de datos y la comunicación se realiza a través de los hosts.
  3. De acuerdo, incluso para escenarios más simples, para la comunicación local en proceso, tiene la actividad CallExternalMethod y las actividades HandleExternalEvent. Incluso en este caso, debe hablar a través del host, ya que el WF podría haber sido pasivado a la base de datos. Por lo tanto, para hacerlo, debe recordar hacer 3 cosas, decorar su interfaz con ExternalDataExchangeAttribute, eventargs debe derivarse de ExternalDataEventArgs y event args es serializable.
  4. Si te equivocas en alguno de los elementos del n. ° 3, obtienes una "InvalidOperationException" muy poco intuitiva. Seguro que el mensaje dice: "El servicio no implementa una interfaz con el atributo ExternalDataExchange", pero no es hasta que mira la excepción interna, que realmente sabe lo que sucedió, es decir, se olvidó de que sea serializable. doh! Pero lo marqué como serializable. En realidad, todo debe ser serializable, incluso el remitente.
  5. Luego debe conectar las actividades de WF, a través de los nombres correctos de la interfaz y los nombres de método que está utilizando para comunicarse.
  6. Finalmente, incluso para la comunicación WF en proceso, debe recordar agregar su servicio a ExternalDataExchangeService, y no al tiempo de ejecución de WF. De lo contrario, parecerá que nadie se está suscribiendo al evento. Sin mencionar, que este es uno de esos errores, que realmente no arroja un error. es decir, difícil de rastrear!

Así que, en definitiva, para el escenario simplista de tratar de hacer dos flujos de trabajo se comunican, es necesario tener un buen control sobre lo siguiente:

* Crear aplicaciones de Windows (por el anfitrión), * roscar, * WCF, * conceptos de POO, * Todos los conceptos de serialización, * Un montón de conectar y detalles no intuitivos de sí mismo WF, * Ninja habilidades de depuración.

Fuente: http: //blah.winsmarts.com/2008-2-I've_been_here_before.aspx

+1

Eso es información útil ... pero no realmente relacionada con mi pregunta. Estoy buscando ejemplos del uso de WF con una aplicación WPF. – KrisTrip

0

La pregunta es bastante vago, pero aquí hay una posible awnser en this entrada en el blog que escribí. Básicamente estoy alojando de nuevo el diseñador del flujo de trabajo para permitir que los usuarios finales cambien los flujos de trabajo según sea necesario y les permita ejecutarlos allí mismo. Por supuesto, su pregunta podría significar prácticamente cualquier cosa, como llamar a un servicio de flujo de trabajo desde un formulario de WPF.

0

Este es un tipo de autopromoción ya que el enlace es mío, but have a look.

0

Aquí hay un proyecto de muestra que hice, que combina WF y WPF para simular un cajero automático. El código funciona en algunos problemas, como manejar los marcadores, cómo mantener vivo el flujo de trabajo y cómo manipular la interfaz de usuario del flujo de trabajo.

https://wpfwf.codeplex.com/

Cuestiones relacionadas