¿Alguien sabe de un buen ejemplo de cómo exponer un servicio WCF mediante programación sin el uso de un archivo de configuración? Sé que el modelo de objetos de servicio es mucho más rico ahora con WCF, así que sé que es posible. Simplemente no he visto un ejemplo de cómo hacerlo. Por el contrario, también me gustaría ver cómo se consume sin un archivo de configuración.
Antes de que alguien pregunte, tengo una necesidad muy específica de hacer esto sin archivos de configuración. Normalmente no recomendaría tal práctica, pero como dije, hay una necesidad muy específica en este caso.
wcf
configuration
configuration-files
Kilhoffer
fuente
fuente
Respuestas:
Consumir un servicio web sin un archivo de configuración es muy simple, como he descubierto. Simplemente necesita crear un objeto de enlace y un objeto de dirección y pasarlos al constructor del proxy del cliente oa una instancia de ChannelFactory genérica. Puede mirar el archivo app.config predeterminado para ver qué configuraciones usar, luego crear un método auxiliar estático en algún lugar que instancia su proxy:
fuente
Security.Mode
predeterminado esNone
.)Si está interesado en eliminar el uso de la sección System.ServiceModel en web.config para el alojamiento IIS, he publicado un ejemplo de cómo hacerlo aquí ( http://bejabbers2.blogspot.com/2010/02/wcf -zero-config-in-net-35-part-ii.html ). Muestro cómo personalizar un ServiceHost para crear tanto metadatos como puntos finales de enlace wshttp. Lo hago de forma general que no requiere codificación adicional. Para aquellos que no están actualizando inmediatamente a .NET 4.0, esto puede ser bastante conveniente.
fuente
Aquí, este es un código completo y funcional. Creo que te ayudará mucho. Estaba buscando y nunca encuentro un código completo, por eso traté de poner un código completo y funcional. Buena suerte.
fuente
No es fácil en el lado del servidor .
Para el lado del cliente, puede usar ChannelFactory
fuente
Toda la configuración de WCF se puede realizar mediante programación. Entonces es posible crear servidores y clientes sin un archivo de configuración.
Recomiendo el libro "Programación de servicios WCF" de Juval Lowy, que contiene muchos ejemplos de configuración programática.
fuente
Es muy fácil de hacer tanto en el lado del cliente como en el del servidor. El libro de Juval Lowy tiene excelentes ejemplos.
En cuanto a su comentario sobre los archivos de configuración, diría que los archivos de configuración son el segundo de los pobres para hacerlo en código. Los archivos de configuración son excelentes cuando controlas todos los clientes que se conectarán a tu servidor y te aseguras de que estén actualizados, y que los usuarios no puedan encontrarlos ni cambiar nada. Encuentro que el modelo de archivo de configuración de WCF es limitante, un poco difícil de diseñar y una pesadilla de mantenimiento. Considerándolo todo, creo que fue una muy mala decisión de MS hacer que los archivos de configuración fueran la forma predeterminada de hacer las cosas.
EDITAR: Una de las cosas que no puede hacer con el archivo de configuración es crear servicios con constructores no predeterminados. Esto conduce a variables estáticas / globales y singletons y otros tipos de sin sentido en WCF.
fuente
Encontré muy interesante la publicación del blog en el siguiente enlace sobre este tema.
Una idea que me gusta es la de poder simplemente pasar una sección XML de enlace o comportamiento o dirección de la configuración al objeto WCF apropiado y dejar que maneje la asignación de las propiedades; actualmente no puede hacer esto.
Al igual que otros en la web, tengo problemas con la necesidad de que mi implementación de WCF use un archivo de configuración diferente al de mi aplicación de alojamiento (que es un servicio de Windows .NET 2.0).
http://salvoz.com/blog/2007/12/09/programmatic-setting-wcf-configuration/
fuente