Sé que hay tutoriales por ahí sobre devoluciones de llamadas y eventos de WCF, pero tengo problemas para conseguir que realmente funcionen, o son demasiado complejos. Soy un verdadero principiante, así que me encantaría saber si alguien sabe de algún tutorial sólido para principiantes que esté dirigido a lo que estoy tratando de resolver específicamente en este momento. Por favor, perdóneme si uso la terminología equivocada (y corrígeme), como dije que soy un principiante.Incendio de eventos al cliente usando WCF
El problema:
al principio puede parecer más complicado de lo que realmente es. Básicamente lo que estoy tratando de lograr es:
- Un host con algo de memoria local (digamos una matriz de 5 enteros) y ejecutando un servicio WCF. que escuchará las consultas del cliente Y lanzará una actualización (¿eventos?) al cliente cuando se cambie uno de estos enteros (desde una fuente externa, como la entrada del usuario a través del símbolo del sistema y Set()).
- Un cliente que puede realizar consultas directas para devolver uno de estos cinco enteros o suscribirse a un índice particular de la matriz de host.
Lo que puede hacer:
puedo configurar la conexión, pero mi servicio está limitado a funciones independientes. El cliente puede realizar "consultas", pero se limita a las llamadas a funciones remotas (como "agregar", donde todos los parámetros se pasan con la función y el procesamiento se realiza internamente).
Lo que estoy tratando de averiguar:
- Cómo puedo acceder a algunas variables almacenados en la memoria de acogida de las funciones de contrato de servicio? Por ejemplo, ¿cómo puedo llamar a un método del cliente GetInt() que simplemente devolvería algo almacenado en la memoria de la aplicación en el host?
- ¿Cómo puedo enviar un mensaje al cliente desde el host? Por ejemplo, en el host, llame a TellClient (int x), que llamaría alguna función en el lado del cliente? ¿Es esto posible sin ejecutar un servicio en ambos lados?
TLDR:
Anfitrión: Servicio < -> Cliente. ¿Hay alguna manera de enviar datos (simplemente un int) al cliente sin que el cliente llame a ninguna función (sin sondeo ni consultas)? ¿Hay alguna manera de tener las variables de acceso al servicio WCF almacenadas en la instancia de la aplicación host sin usar miembros estáticos? ¿Se puede lograr esto de una manera simple?
Gracias por su ayuda y tiempo, sé que escribí un libro. Si alguien sabe de algún buen tutorial, por favor avísenme. Pero POR FAVOR: No me señale el ejemplo de Agregar (int x, int y) donde el cliente acaba de llamar agrega en el host y devuelve el resultado - Ya lo he hecho varias veces y no me está ayudando captar la funcionalidad real de WCF. Realmente no estoy tratando de lograr nada serio en este punto, realmente estoy tratando de mantenerlo simple para que pueda aprender lo que WCF puede hacer, y no creo que la documentación sea de mucha ayuda. Gracias de nuevo a todos.
Esta es una gran información, muchas gracias por su ayuda, la terminología y las palabras clave eran lo que no sabía, por lo que no pude encontrar lo que estaba buscando mediante la búsqueda. No tengo miedo de hacer la investigación. Ya he encontrado algo mucho más cercano a lo que estoy buscando (buscando servicios dúplex). ¡Gracias de nuevo! – Softerware