Ist es möglich, zu konvertieren, ein WinForm zu einem WebForm, das in .NET?
Ich glaube nicht, dass es möglich war, aber ich war gerade im Gespräch mit einer Mitarbeiterin, die sagte, Sie hatte es getan, bevor. Sie ziehen meine Kette?
- Möglich? Ja. Möglich ohne das schreiben von neuem code? Keine (und ich glaube nicht, dass Sie möchten, dass das Ergebnis, wenn Sie könnten).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht etwas, was Sie tun automatisch.
Der trick ist, sowohl Winforms und Webforms stellen eine form mit einem einfachen alten Klasse. Jedoch Instanzen der Klasse in Webforms sind kurzlebig im Vergleich zu Winforms; jeder Webforms-Klassen-Instanz stellt nur eine HTTP-Anfrage, anstatt die gesamte Lebensdauer der form, als mit Winforms. Jedes mal, wenn Sie ein Ereignis zu behandeln, die für Ihre form in ASP.Net Webforms Sie arbeiten mit einer Marke neue Instanz der Klasse. Microsoft ging zu viel Mühe zu versuchen, die Abdeckung für dieses Problem, so viel wie möglich, aber am Ende ist es einfach keine gute Idee zu denken, ein Webform in den gleichen Bedingungen wie eine Winform.
So können Sie auf jeden Fall eine Winforms app und schreiben Sie es verwenden, Webforms, aber es wird genau das sein: eine Neufassung.
Ja, es ist möglich. Wenn Sie entwickelt haben, die Anwendung gut genug, es sollte relativ einfach zu konvertieren eine Win-Forms-Anwendung zu einer web forms-Anwendung nur durch austauschen der UI-Schicht und ersetzen. Sie sind wieder mit der Logik und Daten-Layer (das ist, wo die Funktionalität wäre).
Natürlich, Sie haben zu schreiben, eine neue UI-Schicht von Grund auf, aber, wenn die Logik-Schicht geschrieben wird, gut genug, dass ist nicht zu zu viel Arbeit im Vergleich mit dem schreiben das ganze Programm wieder von vorne an.
Allerdings gibt es einige Fallstricke, auch wenn Sie eine sehr gut geschriebene Anwendung. Die Logik-Schicht kann davon ausgehen, stateful Anwendung, in welchem Fall es kann sich auf lazy loading. In einer web-Anwendung, die Sie haben eine stateless-Modell, das auf Anforderungen und Antworten. In diesem Szenario würden Sie genau wissen, was Sie brauchen, vorne und laden kann, nur die bits, die Sie brauchen und nicht andere Dinge, die möglicherweise später benötigt werden... weil später wird ein anderer request/response-Zyklus und alle Daten, die Sie sammeln, ist es, nun fallen gelassen werden, sobald sich der aktuelle Antwort abgeschlossen ist.
Ich habe seit kurzem setzen die Logik der Anwendung, die ursprünglich in WinForms MVC und das größte Hindernis, um sich eine ansprechende Geschwindigkeit, ist die Tatsache, dass, obwohl es relativ gut geschrieben, die Logik-Schicht angenommen eine zustandsbehaftete Umgebung. Die gleiche Anwendung wird auch neu geschrieben für WPF (andere statusbehaftete Umgebung) ohne so viele Probleme.
Hinzufügen, um die vorherigen Antworten, bitte beachten Sie, dass einige Windows forms-Funktionalität, die einfach nicht vorhanden ist ein Formular, so dass es hängt davon ab, was genau in der winform in den ersten Platz.
Umwandlung einer desktop-Anwendung eine web-Applikation hat mehrere Herausforderungen:
Gibt es Optionen zum konvertieren von desktop-Anwendungen in einer automatisierten Art und Weise, diese umwandeln kann, der Benutzeroberfläche und der code der Anwendung:
Selbst bei der Verwendung von automatisierten Migrationstools, die in den meisten Fällen müssen Sie eine erhebliche Menge an manueller Arbeit, um die Anwendung, die in der gleichen Weise wie das original.
Einige dieser Extras wird helfen, mit unterschiedlichen Zielsetzungen, die erste wird Ihnen helfen, konvertieren Sie nur die UI und WebForms, die letzten zwei Einsen generieren ASP.NET MVC, eines mit einem benutzerdefinierten runtime und Bibliotheken und die andere mit herkömmlichen HTML/JS/CSS Bibliotheken wie Kendo MVVM, Kendo UI, AngularJS oder Bootstrap-unter anderem.
Diese Werkzeuge bieten eine Lösung, die wird schneller sein als das schreiben der Anwendung in die web von Grund auf und stellt Lösungen oder zumindest Richtlinien zur Lösung der genannten Herausforderungen vor. Es gibt jedoch einige Unterschiede von einer Anwendung, die entworfen wurde, für das Web, einfach weil die Architekturen sind unterschiedlich und in der Regel die Art und Weise des Schreibens der code für eine desktop-Anwendung übernimmt die Sache, dass nicht davon ausgegangen werden, die für ein web ein.
Disclaimer: ich arbeite für Mobilize.Net, wer Sie gebaut WebMAP2.
einfach ein Kommentar schreiben mehr: rewrite abhängig ist, wie viel Logik ist in der form selbst. Mit richtig getrennt Bedenken, es ist nur eine Frage der einstecken in ein anderes UI auf den business-Schicht.
Das problem ist nur, dass 90% der apps nichts mehr, die etwas komplexer CRUD-UI ' s (keine echten business-Logik)...