2016-06-28 50 views
5

Sto provando a migrare un progetto dai classici Web Form ASP.Net a ASP.NET MVC.Procedura consigliata per migrare Web Form in ASP.NET Core MVC

Mentre ho letto attraverso http://www.codeproject.com/Articles/38778/ASP-NET-WebForms-and-ASP-NET-MVC-in-Harmony. Ho un'idea di base su come dovrebbero essere fatte la struttura del codice, le librerie e il routing.

Per vostra informazione, l'ambito del mio progetto esistente è di circa 400 pagine e 300 tabelle.

in cima alla mia testa ho due approcci:

  1. Start dal tratto, riscrivere l'intero sistema - Ovviamente questo richiederebbe intenso lavoro e richiedere molto tempo. Qualsiasi modifica apportata al sistema esistente richiederebbe una modifica doppia apportata al nuovo sistema.
  2. Migrare la pagina uno ogni - Ho ancora una ricostruzione dell'intera libreria principale (per accedere a db) e ottenere la migrazione della pagina una alla volta. Per questo supponevo di avere due librerie principali (nuove e vecchie) in esecuzione simultaneamente con pagine diverse collegate a una di quelle.

Qualcuno potrebbe avere un'esperienza simile e consigliare un modo corretto di iniziare?

Per questo revamp completo, potrei anche scegliere la tecnologia più recente, .NET Core e MVC6, prendendo questi avrei un vantaggio in più, o alcuni blocchi di cui dovrei occuparmi?

Qualsiasi suggerimento e opinione sono apprezzati. Saluti.

+0

Solo curioso, cosa hai fatto? Sono in una posizione simile - l'app WebForms legacy. Voglio convertirlo in core MVC/.Net. – costa

+0

@costa Ho avuto un'esperienza simile su tre sistemi di due società, ho terminato una completa riscrittura. È stata presa in considerazione la necessità di mantenere la stabilità del sistema esistente e di ridurre al minimo la complessità dello sviluppo. – ydoow

+0

interessante. Per noi riscrivere l'intera app non è un'opzione.Dovremmo convertire gradualmente le pagine nella nuova tecnologia, ad esempio l'opzione 2 nel tuo post. Sei migrato a. Netto core o MVC? Sono riluttante ad aggiornare a .Net Core. Sembra che le persone si siano imbattute in problemi. – costa

risposta

5

Microsoft è un po 'hush hush sull'argomento, ma il motore WebForms probabilmente non raggiungerà mai ASP.NET Core. Si potrebbe pensare che MS stia aspettando di vedere se la comunità sta chiamando per una porta, ma penso che stiano cercando di ucciderlo discretamente (non come Silverlight).

Perché? Perché si è rivelata una cattiva idea a lungo termine, facile da usare all'inizio, ma estremamente complessa da padroneggiare (a causa del ciclo di vita viewstate e pagina), con la tendenza a consentire agli sviluppatori medi di creare un'applicazione molto noiosa (in francese noi dite fabbriche di vapore). Inoltre è stato adattato molto male al moderno sviluppo web (Ajax, unit test, IoC). Hanno cercato di aggiustarlo con un paio di modifiche, ma l'architettura generale non è adatta a questo tipo di cose. MVC è un piacere in confronto!

Per rispondere alla tua domanda, non è davvero possibile migrare WebForms in MVC, perché si tratta di architetture abbastanza diverse e, naturalmente, l'architettura è ciò su cui un'applicazione si trova in primo piano, quindi se la cambi, potresti anche riscrivilo da zero.

Che cosa può aiutarti molto se la tua app è suddivisa in livelli (business, accesso ai dati, UI). Se non è il caso, puoi iniziare facendo ciò, separando correttamente il progetto dell'interfaccia utente dal resto. Quindi devi solo dover riscrivere il progetto ASP.NET e non il resto.

+1

Grazie per le vostre informazioni. Giusto sembra che non ci sia un'opzione ideale e compromessa che possiamo fare per una migrazione, la riscrittura è probabilmente il modo. – ydoow

+0

Hanno lo stesso problema, grazie per aver confermato i miei pensieri. – SamFlushing

Problemi correlati