Pregunta

Uno de los proyectos de los que estuve a cargo como desarrollador de JSP / Struts en mi último empleador fue una biblioteca de etiquetas de temas (presente en cada servidor WebSphere como una biblioteca compartida) que permitía que cualquier desarrollador web de Java en la empresa atrajera de los temas estándar como intranet, público, etc. con un mínimo esfuerzo. Los temas incluyeron encabezado, pie de página, navegación y enlaces a css & amp; javascript, etc. Incluso podrían personalizar un poco las cosas cuando les dimos la opción, como elegir una pestaña seleccionada.

Esta configuración fue ideal porque pudimos realizar cambios centralizados en cualquier elemento de la interfaz de usuario estándar y todos los sitios los utilizaron automáticamente utilizando temas sin ningún esfuerzo por parte del desarrollador del sitio.

Con el nuevo trabajo que comencé en diciembre, cambié a usar ASP.NET. Me gustaría proponer algo similar en espíritu a la aplicación de temas aquí, ya que estamos ejecutando un montón de sitios diferentes que deberían tener un aspecto unificado.

¿Cuál es la mejor manera de lograr esto? Prefiero no tener que volver a compilar nada para actualizar el tema para que esto funcione.

Editar:

Aunque esperaba una mejor respuesta, los dioses .NET aparentemente no aprueban lo que estaba tratando de lograr. Estas son las tres opciones que se encontraron:

  1. Compile una página maestra en una DLL y colóquela en el GAC: Esto funciona en casos simples, pero como truco es demasiado frágil. No pude hacer que funcione correctamente con nuestro sitio.

  2. Cree un directorio virtual para la Página maestra en cada aplicación web: Esto realmente funciona, aunque no crea un entorno de desarrollo muy cómodo. Sin embargo, una de las cosas de las que estamos tratando de alejarnos es tener que crear directorios virtuales dentro de cada aplicación web. Sin dados.

  3. Crear un grupo de controles personalizados, compilarlos en una DLL y ponerlos en el GAC: Esta es la respuesta que seleccioné. Es la opción menos centralizada y requiere más trabajo para el desarrollador de cada sitio, pero parece ser la única forma bendecida por Microsoft.

En conclusión, estoy bastante frustrado con .NET por esto. En el gran esquema de las cosas, las páginas maestras son solo código, y no veo ninguna razón por la que no puedan centralizarse fácilmente para su uso en múltiples aplicaciones web. Esto parece ser una pérdida importante en comparación con JSP / Java.

¿Fue útil?

Solución

Puede colocar alguna interfaz de usuario en forma de controles personalizados o controles de servidor (si no está en MVC) y luego colocarlos en el GAC para distribuirlos. Todas las referencias a los controles en ese ensamblaje se extraerán de la última versión del gac. También puede hacer cosas a través de Machine.config, que se controla a nivel del servidor en lugar de a nivel de la aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top