Question

L’un des projets dont j’étais responsable en tant que développeur JSP / Struts chez mon dernier employeur était une bibliothèque de balises de thèmes (présente sur chaque serveur WebSphere en tant que bibliothèque partagée) qui permettait à tout développeur Web Java de la société d’en tirer parti. des thèmes standard tels que l'intranet, public, etc. avec un effort minimal. Les thèmes inclus en-tête, pied de page, navigation et liens vers css & amp; javascript, etc. Ils pourraient même personnaliser un peu les choses lorsque nous leur en avons donné la possibilité, comme choisir un onglet sélectionné.

Cette configuration était idéale car nous pouvions apporter des modifications centralisées à tous les éléments d'interface utilisateur standard et ceux-ci étaient automatiquement intégrés par tous les sites utilisant des thèmes sans aucun effort de la part du développeur du site.

Avec le nouveau travail que j'ai commencé en décembre, je suis passé à ASP.NET. J'aimerais proposer quelque chose de similaire à l'application Themes ici, car nous exploitons plusieurs sites qui devraient avoir une apparence unifiée.

Quel est le meilleur moyen d'y parvenir? Je préférerais ne rien recompiler pour mettre à jour le thème pour que cela fonctionne.

Modifier:

Bien que j'espérais une meilleure réponse, les dieux .NET ne semblent apparemment pas approuver ce que j'essayais d'accomplir. Voici les trois options trouvées:

  1. Compilez une page maître dans une DLL et placez-la dans le GAC: Cela fonctionne dans des cas simples, mais en tant que piratage, il est trop fragile. Je ne pouvais pas le faire fonctionner correctement avec notre site.

  2. Créez un répertoire virtuel sur la page maître dans chaque application Web: cela fonctionne réellement, même si cela ne crée pas un environnement de développement très confortable. Cependant, nous essayons surtout de ne pas créer de répertoires virtuels dans chaque application Web. Pas de dés.

  3. Créez un ensemble de contrôles personnalisés, compilez-les dans une DLL et insérez-les dans le GAC: Voici la réponse que j'ai sélectionnée. C’est l’option la moins centralisée et elle demande plus de travail au développeur de chaque site, mais il semble que ce soit la seule manière bénie par Microsoft.

En conclusion, je suis assez frustré par .NET pour cela. En général, les pages maîtres ne sont que du code et je ne vois pas pourquoi il serait difficile de les centraliser pour les utiliser dans plusieurs applications Web. Cela semble être une perte majeure par rapport à JSP / Java.

Était-ce utile?

La solution

Vous pouvez placer une interface utilisateur sous forme de contrôles personnalisés ou de contrôles serveur (si ce n’est pas dans MVC), puis les placer dans le GAC, ce qui les distribue. Toutes les références aux contrôles de cet assemblage seront extraites de la dernière version du gac. Vous pouvez également effectuer certaines tâches via le fichier Machine.config contrôlé au niveau du serveur plutôt qu'au niveau de l'application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top