Domanda

Sono uno sviluppatore .Net a cui è stato assegnato il compito di aggiornare un classico sito Web ASP ad asp.net.Il sito web attualmente funziona con fortuna e gomma da masticare, ma non c'è abbastanza tempo o denaro per fermare il progresso e fare una riscrittura completa.Ovviamente dovrò comunque essere in grado di fornire nuove funzionalità durante l'aggiornamento.

Quali strategie dovrei utilizzare per apportare una modifica graduale e graduale ad asp.net?Dovrei passare a una soluzione .net a livello singolo e quindi eseguire il refactoring in una soluzione multilivello adeguata oppure dovrei progettare ora i livelli aziendali e di dati?Dovrei passare direttamente alla 3.5 o è più semplice arrivare alla 1.1 e poi aggiornare alla 2.0 o alla 3.5?

Una conversione completa richiederebbe probabilmente 3-5 mesi.Esiste anche del codice 1.1 esistente, motivo per cui sto considerando di utilizzarlo come punto di partenza.

È stato utile?

Soluzione

Essendo un programmatore ASP classico di lunga data e ora uno sviluppatore ASP.NET, mi prenderei il tempo e lo architetterei correttamente nel framework 2.0 (3.5 se vuoi/hai bisogno delle funzionalità).

Nel mio ultimo lavoro abbiamo avuto una manciata di app ASP classiche costruite molto male che stavamo ricostruendo e l'approccio "nuke and pave" è stato quello di maggior successo.Utilizza l'app classica esistente come specifiche funzionali e wireframe e crea le tue attività e specifiche tecniche da questo.

Altri suggerimenti

Non buttare via il tuo codice!

È l'errore peggiore che puoi commettere (su una codebase di grandi dimensioni).Vedere Cose che non dovresti mai fare, parte 1.

Hai investito molto impegno in quel vecchio codice e risolto molti bug.Buttarlo via è un classico errore da sviluppatore (e l'ho fatto molte volte).Ti fa sentire "meglio", come le pulizie di primavera.Ma non è necessario acquistare un nuovo appartamento e tutti i nuovi mobili per arredare la tua casa.Puoi lavorare su una stanza alla volta...e forse alcune cose hanno solo bisogno di una nuova verniciatura.Quindi, è qui che entra in gioco il refactoring.

Per nuove funzionalità nella tua app, scrivilo in C# e chiamalo dal tuo ASP classico.Sarai costretto a essere modulare quando riscrivi questo nuovo codice.Quando hai tempo, esegui il refactoring anche di parti del tuo vecchio codice in C# e risolvi i bug man mano che procedi.Alla fine, avrai sostituito la tua app con un codice completamente nuovo.

Potresti anche scrivere il tuo compilatore.Ne abbiamo scritto uno per la nostra classica app ASP molto tempo fa per permetterci di produrre PHP.È chiamato Wasabi e penso che sia questo il motivo per cui Jeff Atwood pensava che Joel Spolsky fosse impazzito.In realtà, forse dovremmo semplicemente spedirlo, così ti potrebbe servire.

Ci ha permesso di trasferire l'intera base di codice su .NET per la versione successiva riscrivendo solo una parte molto piccola del codice sorgente.Ha anche fatto sì che un sacco di persone ci definissero pazzi, ma scrivere un compilatore non è così complicato e ci ha dato molta flessibilità.

Inoltre, se si tratta di un'app solo interna, lasciala.Non riscriverlo: sei l'unico cliente e se il requisito è che devi eseguirlo come ASP classico, puoi soddisfare tale requisito.

Quanto tempo richiederebbe una conversione/riscrittura completa?Dipenderà anche da come hai strutturato il tuo progetto originale.

IO Potere rispondi che dovresti semplicemente scegliere come target la v2.0 (3.5 se vuoi/hai bisogno delle sue funzionalità) dall'inizio.Non è necessario assoggettarsi alla 1.1 del framework.

Potresti voler esaminare il nuovo framework ASP.NET MVC.Il livello di flessibilità è sorprendente e lo stile di codifica è leggermente più simile all’approccio classico ASP, anche se con una separazione molto migliore tra chiesa e stato.

Dai un'occhiata ai forum Snitz (www.snitz.com): sono attualmente in ASP ma il port su ASP.NET è quasi completo.Entrambe le basi di codice sono disponibili per la visualizzazione in modo che tu possa avere un'idea di come è stato fatto lì per aiutarti.

Eviterei di entrare in .NET 1.1 poiché Microsoft terminerà il supporto per la versione 1.1 di .NET Framework il 14/10/2008.Il supporto esteso dura fino all'8/10/2013 ma in genere è costoso da acquistare.Eventuali bug o buchi di sicurezza non verranno risolti e saranno un tuo problema.

http://support.microsoft.com/lifecycle/?LN=en-us&x=11&y=10&p1=1249

Paolo

il modo più semplice per farlo è semplicemente saltare prima a testa.prendi alcuni libri su asp.net e tuffati in Visual Studio.Fai gli esempi, giocaci, costruisci qualcosa di divertente per te stesso.Imparerai facendo.

Sto inoltre lavorando ad una migrazione graduale dal classico ASP ad ASP.NET.La nostra prima fase consiste nella migrazione di una logica comune da un'inclusione ASP a un assembly .NET esposto all'interoperabilità COM in modo che possano essere chiamati sia da ASP classico che da ASP.NET.Ho scritto alcuni test utilizzando Unità ASP per verificare il comportamento dopo la migrazione all'assembly .NET (con l'ulteriore vantaggio di un refactoring più sicuro).Una volta che la logica di base è in .NET, possiamo iniziare a creare nuove pagine in ASP.NET e migrare le singole pagine ASP in ASP.NET secondo i nostri ritmi.

Consiglierei .NET 2.0 o 3.5 rispetto a 1.1.ASP.NET MVC sembra un percorso di aggiornamento interessante.

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