Estoy construyendo una DLL, vamos a llamarlo mydll.dll, y en ella a veces es necesario para llamar a métodos de servicio web, myservice. mydll.dll se crea usando C# y .NET 3.5.Consumir servicio web desde un archivo DLL .NET - app.config problema
consumir myservice de mydll He añadido un servicio en Visual Studio 2008, que es más o menos lo mismo que usar svcutil.exe. Al hacerlo, crea una clase que puedo crear y agrega configuraciones de punto final y enlaces a mydll app.config.
El problema aquí es que mydll app.config nunca se carga. En su lugar, lo que está cargado es el app.config o web.config del programa que utilizo mydll en.
espero mydll evolucione, que es por eso que he desacoplado es funcionalidad del resto de mi sistema para empezar. Durante esa evolución, probablemente agregará más servicios web a los que llamará, descartando formas manuales de copiar y pegar para solucionar este problema.
He mirado en varios enfoques posibles para atacar este problema:
- copiar manualmente los puntos finales y los enlaces de mydell app.config para apuntar EXE o en la web de archivos .config.
Parejas los módulos, no es flexible - Incluir puntos finales y los enlaces de mydll app.config en .config destino, utilizando configSource (ver here). también añaden acoplamiento entre módulos
- carga mediante programación mydll app.config, lea los puntos finales y los enlaces, y cree una instancia encuadernación y EndpointAddress.
- utilizar una herramienta diferente para crear interfaz local para myservice
No estoy seguro de qué camino tomar. La opción 3 suena prometedora, pero resulta que es mucho de trabajo y probablemente presentará varios errores, por lo que es dudoso que valga la pena. Tampoco estoy familiarizado con ninguna herramienta que no sea el svcutil.exe canónico.
Indique los pros y contras de la alternativa anterior, brinde sugerencias para implementar cualquiera de ellos o sugiera otros enfoques.
Gracias,
Asaf
Iré con la copia manual de la configuración y agregaré lo que ha recomendado más adelante. ¡Gracias! –
De nada =) – Restuta