Domanda

Uno dei progetti di cui ero responsabile come sviluppatore JSP / Struts nel mio ultimo datore di lavoro era una libreria di tag temi (presente su ogni server WebSphere come libreria condivisa) che consentiva a qualsiasi sviluppatore web Java nella società di attirare qualsiasi dei temi standard come intranet, pubblico, ecc. con il minimo sforzo. I temi includevano intestazione, piè di pagina, navigazione e collegamenti a css & amp; javascript, ecc. Potrebbero persino personalizzare un po 'le cose quando abbiamo dato loro l'opzione, come scegliere una scheda selezionata.

Questa configurazione era ideale perché potevamo apportare modifiche centralizzate a tutti gli elementi dell'interfaccia utente standard e venivano automaticamente inseriti da tutti i siti utilizzando temi senza alcuno sforzo da parte dello sviluppatore del sito.

Con il nuovo lavoro iniziato a dicembre, sono passato all'utilizzo di ASP.NET. Vorrei proporre qualcosa di simile nello spirito all'app dei temi qui, dal momento che stiamo gestendo un sacco di siti diversi che dovrebbero avere un aspetto unificato.

Qual è il modo migliore per raggiungere questo obiettivo? Preferirei non dover ricompilare nulla per aggiornare il tema per farlo funzionare.

Modifica:

Anche se speravo in una risposta migliore, gli dei .NET apparentemente non approvano ciò che stavo cercando di realizzare. Ecco le tre opzioni che sono state trovate:

  1. Compila una Master Page in una DLL e inseriscila nel GAC: Funziona in casi semplici, ma come hack è troppo fragile. Non sono riuscito a farlo funzionare correttamente con il nostro sito.

  2. Crea una directory virtuale nella pagina principale di ciascuna app Web: funziona davvero, sebbene non sia un ambiente di sviluppo molto confortevole. Tuttavia, una delle cose da cui stiamo cercando di allontanarci è la creazione di directory virtuali all'interno di ogni applicazione web. Nessun dado.

  3. Crea un gruppo di controlli personalizzati, compilarli in una DLL e inserirli nel GAC: Questa è la risposta che ho selezionato. È l'opzione meno centralizzata e richiede più lavoro per lo sviluppatore di ciascun sito, ma sembra essere l'unico modo benedetto da Microsoft.

In conclusione, sono piuttosto frustrato con .NET per questo. Nel grande schema delle cose le pagine Master sono solo codice e non vedo alcun motivo per cui non possano essere facilmente centralizzate per l'uso in più applicazioni web. Questa sembra essere una grande perdita rispetto a JSP / Java.

È stato utile?

Soluzione

È possibile inserire un'interfaccia utente sotto forma di controlli personalizzati o controlli server (se non in MVC) e quindi posizionarli nel GAC distribuendoli in tal modo. Tutti i riferimenti ai controlli in quell'assieme verranno estratti dall'ultima versione in gac. Puoi anche fare le cose tramite Machine.config che è controllato a livello di server anziché a livello di app.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top