Post original en ingles
Una de las features mas requeridas para Web Client Software Factory es tener la posibilidad de registrar servicios a traves del Web.Config. La registracion de servicios a traves de la configuracion es muy util ya que va permitir cambiar la implementacion de nuestro servicio sin tener que recompilar ninguno de nuestros modulos.
Julián Domínguez y yo estuvimos trabajando sobre este tema, y llegamos a lo que les estoy por contar. Si tienen sugerencias o dudas, dejen un comentario. Su feedback es muy valioso para nosotros.
Como usar la libreria
– Agregar la siguiente configSection a la compositeWeb sectionGroup:
<sectionGroup name=»compositeWeb»>
<section name=»services» type=»CompositeWeb.Extensions.Configuration.ServicesConfigurationSection, CompositeWeb.Extensions»/>
<!– Other config sections here –>
</sectionGroup>
– Agregar los servicios que queremos registrar:
<compositeWeb>
<modules>
<module name=»Shell» assemblyName=»MyApplication.Modules.Shell» virtualPath=»~/»/>
</modules>
<services>
<service registerAs=»MyInterfaces.IMyService, MyInterfaces» type=»MyImplementations.MyService, MyImplementations»/>
</services>
</compositeWeb>
La libreria va a cargar y registrar los servicios antes que de los modulos de nuestra aplicacion se inicialicen.
Nota: La libreria registra los servicios como servicios globales.
Cambios a realizar en nuestra solucion
Lo unico que hay que hacer es que el Global.asax herede de CompositeWeb.Extensions.CustomWebClientApplication (y agregar la referencia a la libreria) para que la magia se produzca.
<%@ Application Language=»C#» Inherits=»CompositeWeb.Extensions.CustomWebClientApplication» %>
Codigo Fuente
- Pueden obtener el codigo fuente del proyecto CompositeWeb.Extensions descargandose el archivo CompositeWeb.Extensions.zip que van a encontrar abajo. Si experimentan problemas al compilar la solucion, asegurence que al referencia al assembly Composite Web Application Block es correcta.
- Importante: Este codigo se proporciona «como esta» sin ningun tipo de garantia.
Download: CompositeWeb.Extensions.zip