Klassisches ASP in ASP.NET MVC (C #)

8

Ich habe eine Anwendung, die ich (eventuell) in ASP.NET MVC konvertieren möchte. Ich möchte ein umfassendes Service-Upgrade durchführen (auf ASP.NET), möchte aber aktuelle ASP-Dateien verwenden, um die aktuelle Funktionalität auszuführen, sodass ich kleine Teile upgraden und schrittweise Upgrades für das neue Framework durchführen kann. Diese Site ist stark abhängig von einer VB6-DLL, die nicht sehr ausgereift ist. Daher werden wir diese auch später aktualisieren und möglicherweise die aktuelle Funktionalität durch Web-Services ersetzen. Gibt es eine schnelle Lösung oder ist diese Aufgabe eine 3 Monate + Aufgabe? Ich bin mir sicher, es wurde auch schon einmal daran gedacht, die Schönheit des MVC ist, dass ich denke, dass es einen Weg gibt, dies anzugehen, obwohl ich nicht sicher bin, wo ich anfangen soll. Was wäre der schnellste Weg, um diese Anwendung zu konvertieren (in etwa 40 Stunden), wo ich nur kleine Konfigurationsänderungen vornehmen kann und dies in ASP.NET MVC funktioniert?

    
Jeff Ancel 25.03.2009, 20:46
quelle

3 Antworten

7

Die kurze Antwort ist ... Sie können nicht. Die Unterschiede zwischen klassischen Asp und asp.net sind ziemlich drastisch, nicht nur in der Syntax, sondern im gesamten Design. MVC ist nicht nur eine ähnliche Implementierung wie klassische ASP, obwohl es so aussehen mag. Jede Konvertierung wird Zeit, Nachdenken und Aufwand erfordern, um es vollständig funktionieren zu lassen.

Die gute Nachricht ist jedoch, dass Sie SxS ausführen können, damit Sie klassischen ASP-Code unter einer Site ausführen können, die als ASP.NET- oder ASP.NET MVC-Site eingerichtet ist. Mit etwas Klebeband können Sie Ihre verbesserte Lösung Stück für Stück zusammenstellen.

    
Quintin Robinson 25.03.2009, 20:50
quelle
3

Schreiben Sie Ihre VB6-DLL als COM-fähige .NET-Assembly neu. Dann können Sie sowohl von ASP als auch von ASP.NET darauf verweisen.

Hoffentlich liegt das Schwergewicht in den VB6-DLLs. Wenn dies der Fall ist, können Sie die Migration von Seiten zu ASP.NET MVC starten. Sie müssen auf Seite-zu-Seite-Kommunikation achten - Dinge wie Session und Cookies. Cookies funktionieren so wie sie sind, aber Sie müssen Session auf etwas verschieben, das zwischen MVC und ASP wie Sql Server geteilt werden kann. Leider müssen Sie dazu Ihre Sitzungsaufrufe in ASP auf etwas anderes umschreiben (möglicherweise wieder einen COM-Wrapper um eine .NET-Komponente). Suchen und Ersetzen sollte jedoch den Trick machen.

Was den zeitlichen Ablauf und die Menge der damit verbundenen Arbeit betrifft - das hängt ziemlich von der Menge an Spaghetti in Ihrer bestehenden App ab, wie viel Logik in der DLL im Vergleich zu ASP ist und wie viele Seiten Sie migrieren.

Ich denke nicht, dass 40 Stunden eine vernünftige Menge Zeit sind, um mit .NET, MVC und Neufassung auf den neuesten Stand zu kommen - obwohl ich denke, dass 2-3 Monate sein könnten.

    
Mark Brackett 25.03.2009 20:57
quelle
2

Ich habe schon länger an einem ähnlichen Projekt gearbeitet; Wir hatten eine klassische ASP-App und wollten sie in ASP.Net (mit WebForms) verschieben. Wir machen es Stück für Stück, wenn wir eine neue Seite hinzufügen, machen wir es in .Net und leiten den Benutzer einfach zwischen den ASP-Dateien und ASPX-Dateien um. Arbeiten mit MVC sollte nicht anders sein.

Das größte Problem, auf das wir stießen, war Sicherheit; Die Website benötigt eine Anmeldung und die Sitzung wird natürlich nicht zwischen den beiden geteilt. Wir behandelten dies, indem wir die Bits der Sitzung, die uns in einer Tabelle in einer Datenbank interessiert waren, fortsetzten und eine GUID durch die Abfragezeichenfolge weiterleiten (wir tun dies nur einmal bei der Anmeldung und löschen den Datensatz aus der Datenbank, um Sicherheitsrisiken zu reduzieren) / p>     

Chris Shaffer 25.03.2009 20:58
quelle

Tags und Links