Buscando reunir algunas opiniones sobre cómo se debe dividir una aplicación web (o posiblemente un set de aplicaciones web) (en lo que respecta al proyecto) … básicamente todo será un sitio grande, pero el problema surge porque tiene una variedad de modules que tienen sus propios ciclos de desarrollo / liberación.
El problema que surge es que dividirlos se convierte en un dolor de cabeza al tratar de hacer que las sesiones compartan entre sitios e insert resources compartidos en DLL, pero mantenerlos como un gran proyecto es una pesadilla desde una perspectiva de control de fuente.
Las posibles maneras de hacer esto que puedo pensar son:
Otra cosa que traté de averiguar si podía hacer pero fallé fue de alguna manera tener una "carpeta virtual" de classs en el csproj, de modo que, por ejemplo, la carpeta "ModuleA" realmente se mapeó a "../../../ModuleA /El maletero/". Estoy relativamente convencido de que esto no se puede hacer sin utilizar algunos types de scripts de precompilation, pero esperaba algo que realmente se cargara correctamente en Visual Studio, así que creo que esta idea es un no-go …
¿Alguien tiene algún consejo en cuanto a qué path debo seguir con esto (si es uno de los anteriores o algo que no he considerado)? Quiero asegurarme de no dispararme en el pie aquí porque es probable que sea un proyecto a largo ploop con muchas mejoras / mantenimiento futuros …
Lo hice en uno de nuestros proyectos. Definitivamente hay ciertos problemas que enfrentamos durante el desarrollo, pero definitivamente vale la pena separar el proyecto en DLL por separado para la mantenibilidad
Como también sugirió para el proveedor de ruta virtual, tengo cierto enlace para el mismo que puede ser útil. Además, para pasar datos entre dos modules, hemos creado properties en la interfaz y hemos creado un proyecto separado para la interfaz y todos los modules implementan esa interfaz, por lo que podemos pasar valores de un module a otro module.
Además, siempre es recomendable si está construyendo una aplicación modular, entonces debería ser independiente el uno del otro, pero finalmente depende de sus requisitos.
Link1
UC de la database
Ciertos enlaces para compartir sesiones entre la aplicación (no sugeriría compartir la session, pero si lo desea, puede revisar estos artículos)
Foro ASP .Net
Usando el Servidor de estado
Desbordamiento de stack
Si está construyendo un proyecto, no estoy seguro de si es una buena idea usar asp.net 2.0, debido a los problemas que tiene. En algún momento de mi proyecto moví estos controles ascx para separar el 'proyecto de biblioteca de controles' que solo me da cadenas html que coloco en algún lugar del website. Me gusta usar la syntax <% = fControl%> dentro de las páginas aspx que llene con ese código. No es una solución elegante, pero hace las cosas mucho más fáciles. De todos modos, decidimos reimplementar el proyecto en php, ya que es más barato y no genera problemas.