Domanda

Sono in fase di progettazione di un'applicazione web che avrà più moduli installabili che forniscono funzionalità diverse. C'è un sacco di roba comune succedendo qui e ho librerie di classi # 3 C che so sarà facile da usare su diversi progetti.

Il bit sono bloccato sulla è il sito web vero e proprio. Idealmente mi piacerebbe fare un ASP.NET biblioteca pagina , che può essere riutilizzato su più progetti, ma ho capito che questo non è possibile.

Come fate a strutturare i vostri progetti di siti web in modo che le pagine possono essere riutilizzati su più progetti? Finora l'unica soluzione che è venuta in mente è quello di creare un repository in SVN e lo hanno fatto riferimento nelle proprietà svn:externals del progetto principale. Questo mi permette di aggiungere pagine a quella directory che sono comuni a tutti i siti web, e so che sarò in grado di utilizzare questo per controllare fuori ad altri progetti. Tuttavia, sento che questo è un po 'goffo e causerà problemi durante la creazione di nuovi progetti (ci sarebbe un certo numero di passi per la creazione della nuova soluzione, assicurando che gli esterni di destra sono a posto).

C'è una soluzione migliore? Qual è il modo migliore quando si desidera condividere file comuni ASPX su più progetti dei clienti? Come si fa a gestire i cambiamenti nei loro confronti?

Grazie in anticipo!

EDIT:

Molte grazie a David per la sua risposta. Ho avuto più il pensiero su questo e ho pensato di elencare alcune delle mie più concrete idee / preoccupazioni. In primo luogo, un po 'di più sul progetto (s). In primo luogo, si tratta di un CMS. Tuttavia, abbiamo anche i clienti che vorranno CRM, e c'è anche clienti che vogliono né e vogliono un intero sistema di misura da zero.

Nel mio post originale di cui sopra, ho parlato di avere sottodirectory della radice principale (per esempio, cms), utilizzando svn:externals per consentire una facile ri-condivisione di pagine web su più progetti. Sto cominciando a pensare che questo è l'unico modo per fare questo. Una cosa che mi ha infastidito è stata se l'URL del cliente era:

http://www.shotgunanddribble.com/cms/content.aspx

Comunque, penso di poter utilizzare il Application_BeginRequest per mitigare gli URL orribili riscrivendo loro in base alla configurazione del sito del cliente. Per esempio, se un cliente era solo un CMS ho potuto riscrivere il loro primo livello dominio /cms/. Stessa cosa con se fossero un CRM. Se fossero entrambi:

http://www.shotgunanddribble.com/ -> /cms/

http://crm.shotgunanddribble.com/ -> /crm/

C'è qualche svantaggio di utilizzare questo tipo di riscritture? Credo che, a meno che qualcun altro ha qualche idea magiche, svn:externals è la mia unica speranza.

È stato utile?

Soluzione

Il codice attuale è abbastanza facile da mettere in altre assemblee ed ereditare da, ma i file ASPX sono sicuramente una storia diversa. Che ne dite di una libreria comune di controlli utente per contenere la maggior parte del contenuto del display, e ogni progetto dovrebbe avere le proprie pagine, che per lo più solo incorniciano i controlli utente? Non ho mai provato, quindi non ci può essere qualche "Beccato" che sto semplicemente non immaginando al momento.

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