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