Matías,
Creo que el problema se origina porque pusiste las HashTables en el
propio servicio de Windows.
Una alternativa sería que crees una nueva clase que se ocupe de
mantener esas HashTables, digamos Scheduler, y que sea un Singleton (me refiero
al patrón de diseño, no al modo de activación de objetos de remoting).
Un saludo.
_____
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Matias Q
Enviado el: Miércoles, 27 de Febrero de 2008 03:23 p.m.
Para: [email protected]
Asunto: [puntonet] .NET Remoting y Windows Services
Buenas lista,
Me encuentro en un problema que quedó fuera de todos los tutoriales y ejemplos
que vi sobre Remoting.
Tenemos una aplicación Web, y un Windows Service en el mismo servidor, que
queremos que se comuniquen (El Web Site envía cierta información que el
WService tiene que almacenar y luego usar en schedules de tiempo configurables,
algo así como un administrador de tareas conceptualmente). Luego de leer mucho
sobre las opciones de comunicacion que había, mucha gente optaba por Remoting,
que al parecer había funcionado mejor, así que comencé a ver ejemplos y probar.
Según entendí, con Remoting, el cliente (WSite) accede a un Objeto que se
instancia en el servidor (WService) y puede ejecutar sus métodos mediante una
suerte de proxy.
Realicé las pruebas y anduvo bien, creando una clase en el WService con algunos
métodos simples, una interface y registrando la clase en un port TCP, que luego
el cliente usando Activator.GetObject podía acceder.
Mi problema reside en que lo que yo necesito modificar información de
HashTables que están en ese momento en memoria en el WService, poder desde el
WSite enviar un mensaje con información que se debe agregar a las tablas, pero
no logré con Remoting poder acceder a estas tablas ya que pierdo toda
referencia al WService dentro de la clase que registro para el Remoting.
A menos que la clase que registre para Remoting sea el WService mismo?
O si instancio la clase antes de registrarla y cuando la registro uso
"WellKnownMode.Singleton", el cliente al usar el GetObject hace referencia a la
instancia ya creada en vez de crear una nueva?
Realmente no sé como encarar el problema, quizás hay otra posibilidad que no es
Remoting? Con mensajes IPC?
Si alguien tiene alguna idea o alguna vez tuvo que resolver un problema
parecido, agradecería sus comentarios.
Matias
_____
Helping your favorite cause is as easy as instant messaging. You IM, we give.
Learn more. <http://im.live.com/Messenger/IM/Home/?source=text_hotmail_join>