Imagínese que usted necesita para mantener varios servicios web interdependientes en un servidor web que se llaman entre sí y algunos otros servicios web externos. Para añadir a la diversión, la mayoría de ellos recuperar datos de diferentes bases de datos SQL Server. En este caso, los servicios web comparten varios puntos de la cadena de conexión y de finalización del servicio comunes.
Si la misma cadena de conexión y configuración de extremo aparecen en varios de los servicios web, mantenimiento de los mismos puede ser una pesadilla. Si una determinada conexión de base de datos o cambios de punto final, debe cambiarse en cada archivo web.config que el que aparece. Añadir a la mezcla una situación en la que los diferentes individuos en un equipo están implementando diferentes servicios, ya sea en el servidor de control de calidad o la presentación de los paquetes de despliegue de ser sometido a control de calidad.
Una solución a este problema es la de compartir los valores de configuración comunes en un archivo web.config separada. El uso de una característica llamada configuración herencia que ha existido desde ASP .NET 1.1, esto se puede hacer fácilmente. En pocas palabras, la configuración de web.config en un directorio de la aplicación Web primario están disponibles para aplicaciones web en directorios secundarios. Me preguntaba si se podría crear un directorio de aplicaciones Web ASP .NET en IIS que consiste simplemente en un archivo web.config y desplegar todos los servicios web que utilizan estos valores por debajo de esta carpeta en una jerarquía virtual. Todos los ajustes comunes serían retirados de todos los archivos web.config para cada uno de los servicios web y se colocan en el web.config en la carpeta de aplicación principal. Yo quería estar seguro de que los servicios web podrían recuperar cadena de conexión común y la configuración de punto final de servicio de este archivo web.config padres.
Para ver si esto iba a funcionar, he creado tres servicios WCF, ServiceONE, ServiceTwo, y ServiceThree. ServiceONE tiene simplemente un método que devuelve el valor de una cadena de conexión con nombre. ServiceThree tiene un método que devuelve el valor de la hora UTC actual, y ServiceTwo simplly llamar al método en ServiceThree que devuelve el tiempo. La información de la cadena de conexión y el punto final se colocó en el archivo web.config común se muestra a continuación.
<? Xml version = "1.0"?>
Previous Post Next Post
.