Recibir eventos desde otro proyecto.

03/01/2006 - 16:30 por Alejandro | Informe spam
Hola.
Actualmente tengo 1 proyecto de tipo class library que contiene una clase
estatica con un evento estatico y un metodo publico estatico que lanza el
evento estatico. Despues por separado tengo 2 proyectos windows (app1 y
app2), en los que hago referencia al proyecto class library. App1 se
suscribe al evento del classlibrary, app2 ejecuta el metodo del class
library para lanzar el evento. Problema: el evento nunca le llega al App1.
Es posible lo que quiero hacer? Que estoy haciendo mal?
Gracias

Preguntas similare

Leer las respuestas

#1 José Escrich
03/01/2006 - 19:27 | Informe spam
Alejandro,

app1 y app2 corren en el mismo contexto de aplicación?
si tienes dos aplicaciones ó "ejecutables" nunca se dará esa condición porque
serían dos dominios de aplicación. La clase estática convive en el dominio
de aplicación.

Te sugiero que investigues remoting si quieres hacer que dos aplicaciones
dialoguen entre si ó si tienes un poco mas de tiempo investiga sobre indigo,
windows comunication foundation.

saludos, espero haberte ayudado

José Escrich
jescrich (a) gmail.com
http://latincoder.com

Mostrar la cita
#2 A.Poblacion
03/01/2006 - 22:02 | Informe spam
"Alejandro" <@> wrote in message
news:
Mostrar la cita
Lo que estás haciendo mal es que si App1 y App2 son dos EXEs de Windows,
cada uno crea al ejecutarlo un dominio de aplicación distinto, y por tanto
cada uno de ellos carga una copia separada del classlibrary. En
consecuencia, el evento, aunque sea estático, es distinto para cada una de
las aplicaciones, y por eso cuando una lo lanza la otra no lo recibe.

Una de las formas de conseguir lo que quieres es utilizar los "loosely
coupled events" de COM+ (Servicios de Componentes), que se inventaron para
eso (que distintas aplicaciones independientes se puedan suscribir a eventos
lanzados por otra aplicación distinta). Hacer que tu libreria funcione
dentro de COM+ no es complicado, ya que .Net trae todo lo necesario para
ello (busca en el manual el espacio de nombres System.EnterpriseServices),
pero en cambio hacer la suscripción de los eventos sí que tiene una cierta
complejidad porque no están abstraídos dentro de las librerías del framework
(al menos en la versión 1) y hay que tirar del ComAdmin que es un objeto
COM. Cuesta un pelín hacerlo la primera vez, pero luego funciona muy bien.
#3 Alejandro
04/01/2006 - 21:29 | Informe spam
"A.Poblacion" wrote in
message news:
Mostrar la cita
clase
Mostrar la cita
el
Mostrar la cita
App1.
Mostrar la cita
Windows,
Mostrar la cita
eventos
Mostrar la cita
framework
Mostrar la cita
#4 Alejandro
04/01/2006 - 21:29 | Informe spam
Muchas Gracias!!
Pero tendrias un ejemplo. Encontre esto en el MSDN pero nose como aplicarlo:
http://msdn.microsoft.com/library/d...events.asp

Gracias

"A.Poblacion" wrote in
message news:
Mostrar la cita
clase
Mostrar la cita
el
Mostrar la cita
App1.
Mostrar la cita
Windows,
Mostrar la cita
eventos
Mostrar la cita
framework
Mostrar la cita
Ads by Google
Search Busqueda sugerida