ASP.NET-Webformulare sind schwergewichtig und lassen einen Haufen Zeug auf Ihre Webseiten fallen, sowohl in HTML/Javascript als auch in serialisiertem Viewstate. Ich erinnere mich an meine erste ASP.NET-Website, bei der der GC wegen all der kurzlebigen Objekte, die aus dem grässlichen Viewstate rehydriert wurden, in die Luft flog. Oh, als ich noch jung und naiv war (d.h. vor 2 Jahren)... Man muss ein sehr gutes Verständnis von Webforms haben, um daraus skalierbare Websites zu bauen. Ist das möglich? Auf jeden Fall. Einfach? Eher nicht.
ASP.NET MVC ist schwieriger zu programmieren ursprünglich sondern ist SO viel einfacher zu entwickeln als Webformulare. Am schwierigsten zu erlernen sind 1) die Konventionen aka "magic strings", 2) Html + Inline-Code aka ASP und 3) html-Formulare.
Mit MVC, können Sie nicht weg mit dem Zustand Alptraum, die so häufig zu Webforms Entwicklung, was bedeutet, dass bedeutet, dass Ihre Webseiten sind meth-süchtig schlank. Es bedeutet auch, dass Sie Ihren Zustand ein wenig intelligenter codieren müssen. Der Code ist auch VIEL einfacher und skaliert VIEL besser als traditionelle Webforms, imho.
Außerdem ist das Testen mit ASP.NET aufgrund der fest kodierten und nicht verknüpfbaren Abhängigkeiten, die in das Framework integriert sind, nahezu unmöglich. ASP.NET MVC hat all dies durch System.Web.Abstractions-Mitglieder ersetzt, die diese schlecht konzipierten und nicht testbaren Objekte umhüllen.
Laufen Sie zu MVC, anstatt zu gehen.
Für die Offensichtlichen: Wenn Sie ein Framework verwenden, das auf dem ASP.NET-Framework aufbaut, wie z. B. MVC oder ein anderes, das Sie selbst oder jemand anderes geschrieben hat, OBVIOUSLY Einige dieser Bemerkungen sind nicht zutreffend.
Wenn Sie dagegen so programmieren, wie es die ersten Menschen mit dem ASP.NET-Webforms-Modell getan haben (z. B. Response.Write() in Page_Load), gelten meine Kommentare.
Kann man Code schreiben, der mit ASP.NET testbar ist? Sicher. Können Sie das tun, ohne speziellen Testcode einzubinden, den Sie oder jemand anders geschrieben hat? Sicher. Wenn Sie TypeMock.
4 Stimmen
Dies ist keine Fälschung. Die Frage bezog sich auf die Frage, ob man es in der Beta-Phase verwenden sollte, hier geht es um die Frage, ob man es für eine große Unternehmensanwendung verwenden sollte. Unterschiedliche Fragen.
1 Stimmen
Ich wäre an einem weiteren Kommentar des Autors interessiert, in dem er über seine Wahl und seine Erfahrungen berichtet. Ich benutze MVC seit der Beta-Phase und ich liebe es. Die meisten unserer Anwendungen sind klein, so kann ich nicht sprechen, wie skalierbar es ist. Mein Gefühl ist, dass, da es für eine Menge von Client-Side-Verarbeitung (jQuery, Ajax, JSON), dass es einfacher auf dem Server ist und würde daher machen es mehr skalierbar ermöglicht.
2 Stimmen
Bislang ist unsere Anwendung SEHR gut skalierbar. Es ist eine ziemlich massive App (Millionen von LOC, Hunderte von Ansichten), und wir haben das Gefühl, dass MVC die absolut beste Wahl war. Ich könnte mir nicht vorstellen, dies über Webformulare zu tun.
6 Stimmen
Hey, StackOverflow ist mit ASP.NET MVC aufgebaut. Was gibt es da noch zu sagen...