Domanda

Abbiamo una grande applicazione ASP (ASP classico) e vorremmo convertirla in .NET per lavorare su ulteriori rilasci. Non ha senso continuare a utilizzare ASP poiché è obsoleto e non vogliamo riscriverlo da zero (Joel Spolsky ti dice why ).

Esiste un modo per convertirlo automaticamente da ASP in ASP.NET?

È stato utile?

Soluzione

Bene, Lavoravo per la società in cui tutte le app Web erano ASP classici. Quando è stata presa la decisione di passare a .NET abbiamo dovuto trovare un modo per trasformare 168 (!) App Web in questo nuovo framework. Ho provato tutti gli strumenti disponibili al momento per farlo e tutto fallito.

Il modo migliore è quello di costruire un nuovo server Web e ricominciare da zero, in questo modo puoi essere sicuro che l'aggiornamento avverrà rapidamente e funzionerà senza alcun problema grazie all'integrazione vecchio-nuovo. Sarai in grado di scegliere quale funzionalità e aspetto visivo mantenere e quale modificare. Non perdere tempo con strumenti automatici per aggiornare i tuoi vecchi file / siti ASP nella piattaforma NET. Nessuno finora ha mai funzionato correttamente.

Inoltre, se si dispone di un database nel back-end, si verificheranno problemi con la connessione ad esso dalle app Web.

Altri suggerimenti

Anche se ci sono strumenti per la conversione tra ASP classico e ASP.NET, non genereranno risultati molto buoni: i due ambienti sono sostanzialmente troppo diversi. Un rapido Google mostra alcuni risultati, per lo più di " faremo in modo che i nostri ragazzi in India lo facciano " varietà.

Il mio consiglio sarebbe di non toccare il tuo codice ASP esistente per ora. L'ambiente di runtime sarà supportato da Microsoft per il prossimo futuro, quindi non è necessario eseguire la migrazione urgente. Invece, inizia a lavorare su nuove funzionalità in ASP.NET: in questo modo, non sarai trattenuto da concetti legacy e puoi utilizzare la nuova funzionalità fornita dal Framework (incluse cose come ASP.NET MVC) in qualsiasi modo tu veda in forma.

Naturalmente, il nuovo codice dovrà funzionare con l'ambiente ASP esistente. La condivisione dello stato della sessione tra ASP e ASP.NET sarà molto probabilmente una delle i tuoi primi requisiti, ma presto identificherai altri problemi del genere.

La soluzione "giusta" per tali problemi dipenderà interamente dal codice e dai requisiti attuali: a volte, sarai in grado di racchiudere il codice .NET in un oggetto COM da utilizzare con il tuo codice ASP, a volte il porting / migrazione parziale potrebbe essere la soluzione.

Tuttavia, in media, l'approccio dei "due mondi" dovrebbe essere del tutto fattibile e consentire di sviluppare nuove interessanti funzionalità senza doversi preoccupare del codice legacy.


aggiunta di dicembre 2009 alla risposta originale: ho appena trovato il ASP Classic Compiler , che è un compilatore VBscript gestito attivamente che converte le classiche pagine ASP in codice che viene eseguito in modo nativo su ASP.NET. Ha diverse caratteristiche interessanti, come la possibilità di usarlo come ViewEngine personalizzato ASP.NET MVC, quindi nonostante il suo stato beta, sembrerebbe sicuramente la pena tenere d'occhio ...

Microsoft ha pubblicato un articolo su MSDN che parla di Migrazione di pagine ASP su ASP.NET . Fondamentalmente ti dicono di installare .net sul tuo computer / server e di trasformare una pagina alla volta. ASP e ASP.NET possono coesistere, quindi possono rinominare ogni pagina in "aspx" Appena vai. Si noti, tuttavia, che lo stato della sessione e lo stato dell'applicazione non sono condivisi tra le pagine ASP e ASP.NET (vedere La risposta di @ mdb per una soluzione al problema.)

Esiste anche L'Assistente alla migrazione da ASP ad ASP.NET , ma non sono sicuro che il progetto / programma sia ancora attivo. Puoi provarlo scaricando da questa pagina:

http://www.asp.net/ download / archiviati / migrazione-assistenti / asp-to-aspnet /

gmStudio è uno strumento di aggiornamento completo da VB6 / ASP / COM a .NET. Può leggere, analizzare, interpretare, riscrivere e ristrutturare (come C # o VB.NET) singole pagine + include o interi siti.

La tecnologia è in fase di sviluppo attivo dal 2007 e l'abbiamo utilizzata per aiutarci a riscrivere siti che vanno da poche centinaia a migliaia di pagine.

Lo strumento è supportato su MSDN qui.

Un (vecchio) video dimostrativo è su ScreenCast qui. (Ho davvero bisogno di aggiornare questo ! Fino ad allora, per favore fatemi sapere se volete una demo live per vedere le ultime.)

C'è molto altro da dire, per favore contattaci se sei interessato.

Dichiarazione di non responsabilità: lavoro per Great Migrations.

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