Antes de seguir es bueno comentar que si alguna vez necesitan hacer algo como esto, pueden considerar usar SpringNet el cual no sólo ofrece DI sino muchas otras funcionalidades, aunque no lo he probado en .Net sí lo he usado mucho la versión en Java y me ha sido de gran utilidad.
Bueno manos a la obra:
Primero que nada vamos necesitar definir la forma como se injectaran las dependencias y quien será el responsable:
- La forma, haré que todas mis páginas implementen una interfaz la cual el objeto responsable de inyectar las dependencias reconocerá, recuerden que esta es una versión simplificada de un DI
- El responsable de inyectar las dependencias necesarias a las páginas será una clase que implemente la interfaz IHttpHandlerFactory llamada SimpleInjectorPageHandlerFactory, en dicha clase extenderemos al PageHandlerFactory que define asp.net para que la implementación sea más simple.
<add verb="*" path="*.aspx" type="lib.ioc.di.SimpleInjectorPageHandlerFactory"/>a continuación un ejemplo de como luce el web.config:
Aquí solo demostraré como hacer funcionar todo el mecanismo de inyección y en un post siguiente hablaré de como usar este mecanismo para soportar internacionalización en asp.net usando gettext.
Todo el código está en la misma aplicación de ejemplo del post anterior y la pueden encontrar aquí. Allí puse una interfaz IResource con una implementación sencilla solo para demostrar que funciona.
Hasta la próxima.
No hay comentarios:
Publicar un comentario
Deja tu comentario :D