2008-12-19 18 views
9

Nuestra empresa tiene una aplicación web ASP.NET bastante grande. La aplicación ya está dividida en distintas 'áreas' de funcionalidad comercial. Estoy buscando algunas estrategias que podamos utilizar para dividir esta aplicación web en módulos editables/versionables por separado. siendo aDivisión/Modularización de grandes proyectos de aplicación web ASP.NET

Objetivo principal:

nos permiten desplegar la aplicación web con sólo ciertas áreas de funcionalidad.

I visualizar la aplicación web principal como un 'shell' que puede albergar 'complementos' que pueden registrarse como elementos de menú en la jerarquía de navegación de la aplicación web principal. La aplicación web principal contendría la página maestra, las hojas de estilo y los controles comunes utilizados por los complementos.

¿Qué tipo de ideas tienes para implementar algo como esto?

Respuesta

6

Me gustaría hacer proyectos sub-web. Cada sitio web es un subproyecto del sitio web principal. Puede escribir un HttpModule que verifique algún almacén de datos para ver si ese cliente tiene acceso a ese sitio (módulo) y denegar el acceso de esa manera. Scott Guthrie tiene una buena publicación sobre cómo configurar proyectos web secundarios here.

2

Una manera fácil de hacerlo sería simplemente utilizar un Mapa del sitio. Puede segregar sus archivos aspx y compilar diferentes DLL todo lo que desee. El SiteMap es completamente independiente y se puede configurar de cualquier forma que desee para incluir los módulos que desee, con los permisos que desee. No es necesario que ningún módulo de código se registre con otros módulos de código. Esto es ASP.NET, cada solicitud es independiente y puede comenzar en cualquier punto de entrada aspx. En lo que respecta a sus páginas, habilitar la funcionalidad de módulos cruzados es tan simple como proporcionar un enlace a una página en otro módulo. El Mapa del sitio lo logra a la perfección.

+0

Me imagino que quiere limitar el acceso a los otros módulos debido a acuerdos de licencia y si el cliente pagó por ellos o no. –

+0

Incluso para el software empaquetado, todavía funcionaría. Un solo módulo consta de archivos ASPX y un dll. Si tiene solo 2 de N posibles módulos instalados en un sistema determinado, entonces el SiteMap puede personalizarse para que no incluya los módulos no incluidos o cada módulo tiene permisos únicos. – sliderhouserules

Cuestiones relacionadas