Duda con remoting

15/10/2004 - 13:52 por Francisco del Valle | Informe spam
Buenas. Vereis, estoy pensado en crear una aplicación cliente servidor, y he
pensado en remoting. Por lo que he visto con remoting lo que hago en el
servidor
es registrar un tipo de objeto que puedo crear remotamente en el cliente. Mi
pregunta es, ¿como hago para mostrar mensajes de log en el servidor?. Es
decir,
si el objeto se crea en el cliente, el servidor en principio no se entera de
nada... podria hacer un Console.Writeline, pero es que quiero que la
aplicación servidor
sea gráfica.

Preguntas similare

Leer las respuestas

#1 A.Poblacion
15/10/2004 - 14:51 | Informe spam
Cuando usas Remoting, lo que haces es permitir que el cliente cree un objeto
que se ejecuta en el servidor. Si la aplicación que publica los objetos para
remoting en el servidor es gráfica, y un cliente le pide a la aplicación que
cree un objeto, el objeto rueda en el servidor, y por lo tanto cualquier
mensaje que muestre aparecerá en el servidor.
Ojo con el tema de que los objetos de remoting se ejecutan en multihilo, y
el interface de ventanas tipo WinForm no es multihilo (a diferencia del
Console.WriteLine que no tiene ningún problema con ello). Tendrás que usar
el BeginInvoke del formulario si quieres que sea segura la presentación de
los mensajes (busca BeginInvoke en el manual y encontrarás un ejemplo de
uso)

"Francisco del Valle" wrote in message
news:%
Buenas. Vereis, estoy pensado en crear una aplicación cliente servidor, y


he
pensado en remoting. Por lo que he visto con remoting lo que hago en el
servidor
es registrar un tipo de objeto que puedo crear remotamente en el cliente.


Mi
pregunta es, ¿como hago para mostrar mensajes de log en el servidor?. Es
decir,
si el objeto se crea en el cliente, el servidor en principio no se entera


de
nada... podria hacer un Console.Writeline, pero es que quiero que la
aplicación servidor
sea gráfica.


Respuesta Responder a este mensaje
#2 Francisco del Valle
15/10/2004 - 15:29 | Informe spam
Vale, pero esos objetos que se crean en el servidor, ¿no se pueden comunicar
con alguno que ya
haya creado?. Vamos, con un textbox por ejemplo para tener un log


"A.Poblacion" escribió en
el mensaje news:
Cuando usas Remoting, lo que haces es permitir que el cliente cree un
objeto
que se ejecuta en el servidor. Si la aplicación que publica los objetos
para
remoting en el servidor es gráfica, y un cliente le pide a la aplicación
que
cree un objeto, el objeto rueda en el servidor, y por lo tanto cualquier
mensaje que muestre aparecerá en el servidor.
Ojo con el tema de que los objetos de remoting se ejecutan en multihilo, y
el interface de ventanas tipo WinForm no es multihilo (a diferencia del
Console.WriteLine que no tiene ningún problema con ello). Tendrás que usar
el BeginInvoke del formulario si quieres que sea segura la presentación de
los mensajes (busca BeginInvoke en el manual y encontrarás un ejemplo de
uso)

"Francisco del Valle" wrote in message
news:%
Buenas. Vereis, estoy pensado en crear una aplicación cliente servidor, y


he
pensado en remoting. Por lo que he visto con remoting lo que hago en el
servidor
es registrar un tipo de objeto que puedo crear remotamente en el cliente.


Mi
pregunta es, ¿como hago para mostrar mensajes de log en el servidor?. Es
decir,
si el objeto se crea en el cliente, el servidor en principio no se entera


de
nada... podria hacer un Console.Writeline, pero es que quiero que la
aplicación servidor
sea gráfica.






Respuesta Responder a este mensaje
#3 Rodrigo Corral [MVP]
15/10/2004 - 17:32 | Informe spam
No hay ningún problema en que la aplicación que actua como host de los
objetos remotos (la que se encarga de registrar los canales de comunicación,
los formateadores y exponer los objetos) se un aplicación WinForms.

Los objetos pueden modificar los elementos gráficos de la aplicación, eso si
como ya te han indicado utilizando el BeginInvoke, por que nada te asegura
que los objetos gráficos y los objetos de remoting vivan en el mismo hilo
(no es así de hecho).

Si te sirve una consola como host, cualquier llamada que el objeto remoto
haga en su código a Console.WriteLine, se reflejara en la consola.


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida