Problemas con Reflection

11/02/2004 - 14:27 por Marcelo Belén | Informe spam
Hola a todos:

Tengo que crear dinamicamente una Web Refercence, y
luego cargar clases que estan en esa referencia por lo que
uso reflection para cargarla, Ya se el nombre y demases,
pero no las carga, pero sin tocar el codigo si vuelvo a
ejecutar como la web reference ya estaba creada no la
vuelvo a crear y en ese momento si encuentra todas las
clase, creo que es algo asi como refrescar en tiempo de
ejecucion. pero no he encontrado la forma de hacerlo.



Gracias a todos,
Marcelo.
 

Leer las respuestas

#1 Alejandro Mezcua
11/02/2004 - 18:09 | Informe spam
Hola, Marcelo.

Si entiendo bien lo que propones, dices que te gustaría que al cambiar la
firma del servicio Web (nuevos métodos, otros parámetros, etc) por
reflection pudieses acceder los nuevos elementos.

Si es este tu problema, aunque en principio parece que esto sería así de
sencillo, no es así. Si miras lo que hace Visual Studio, realmente está
leyendo el WSDL del servidor y creando una clase local (reference.cs)
asociada a la referencia Web (el proxy) que, una vez creada, es estática.
Cuando actualizas la referencia en el proyecto simplemente estás volviendo a
leer el WSDL y, si es diferente del anterior, vuelves a generar
reference.cs.

Una vez compilado el proyecto, reference.cs es estático, con lo que mediante
reflection sólo puedes leer el contenido de la instancia del proxy.

Dispones de una utilidad, wsdl.exe, que te permite generar clases
dinámicamente. En principio la podrías usar en tu aplicación para generar el
código del WSDL dado, compilarlo, generar el assembly y usarlo en tu código
en tiempo de ejecución, donde si estarían las modificaciones obtenidas
mediante reflection.

No se si es este exactamente tu caso o no, pero si lo es y trabajas en ello
coméntanos cómo te va ;-)

Un saludo,

Alejandro Mezcua
MVP .NET
Zaltor Soluciones Informáticas

"Marcelo Belén" wrote in message
news:e57001c3f0a2$d1059cc0$
Hola a todos:

Tengo que crear dinamicamente una Web Refercence, y
luego cargar clases que estan en esa referencia por lo que
uso reflection para cargarla, Ya se el nombre y demases,
pero no las carga, pero sin tocar el codigo si vuelvo a
ejecutar como la web reference ya estaba creada no la
vuelvo a crear y en ese momento si encuentra todas las
clase, creo que es algo asi como refrescar en tiempo de
ejecucion. pero no he encontrado la forma de hacerlo.



Gracias a todos,
Marcelo.

Preguntas similares