Ich kenne den Unterschied zwischen ASP.NET-Webforms und ASP.NET MVC und ich habe einige Videos gesehen, die erklären, dass beide auf ASP.NET laufen (und ich habe beide verwendet). Meine Frage ist jedoch, wie würde man sich direkt auf ASP.NET ohne Webforms oder mvc.net entwickeln? Wäre dies ein Projekt mit nur .ASHX-Dateien?
ASP.NET 1.0 und 1.1 bestand ursprünglich aus einer Klassenbibliothek und Templating-Markup (Web Forms). Dies war eine natürliche Erweiterung von ASP 3.0, wo HTML- und VB-Code in einer ASP-Datei vermischt wurden.
Die Klassenbibliothek ist das, was ich als "direktes" ASP.NET-Framework bezeichnen würde. IMHO, der System.Web-Namespace stellt die Bemühungen dar, "ASP" in das .NET-Framework einzubinden. Sie erhalten Objekte auf oberster Ebene wie das HttpContext-Objekt und seine statischen Eigenschaften sowie einige Objekte, die die ASP.NET-Verarbeitungspipeline, IHttpModule- und IHttpHandler-abgeleitete Klassen entfernen.
Angeblich könnten Sie Ihre eigene Auszeichnungssprache erfinden und ein HttpModule (neben anderen Komponenten) schreiben, um die Antworten zu rendern. Dies ist wahrscheinlich der Grund, warum der Namespace System.Web so erweitert wurde, dass er Code für Webdienste, AJAX / JSON, MVC und in .NET 3.5SP1, ASP.NET dynamische Daten .
Meine 2 Cent.
Neue Antwort: Ich habe mir tatsächlich die Zeit genommen, Microsofts offizielle Antwort nachzuschlagen.
ASP.NET ist eine vereinheitlichte Web-Entwicklung Modell, das die Dienste enthält notwendig für Sie zu bauen Web-Anwendungen der Unternehmensklasse mit ein Minimum an Codierung. ASP.NET ist Teil des .NET Framework und beim Codieren ASP.NET-Anwendungen, auf die Sie Zugriff haben zu Klassen in .NET Framework. Sie kann Ihre Anwendungen in beliebigen codieren Sprache, die mit dem Gemeinsamen kompatibel ist Sprachlaufzeit (CLR), einschließlich Microsoft Visual Basic, C #, JScript .NET und J #. Diese Sprachen ermöglichen Sie, um ASP.NET-Anwendungen zu entwickeln die von der gemeinsamen Sprache profitieren Laufzeit, geben Sie Sicherheit, Vererbung und ein so weiter.
ASP.NET enthält:
Ein Seiten- und Steuerelement-Framework
Der ASP.NET-Compiler
Sicherheitsinfrastruktur
Staatliche Verwaltungseinrichtungen
Anwendungskonfiguration
Gesundheitsüberwachung und Leistung Funktionen
Debugging-Unterstützung
Ein XML-Webservices-Framework
Erweiterbare Hosting-Umgebung und Anwendungslebenszyklus-Management
Eine erweiterbare Designerumgebung
Sie können einen IHttpHandler verwenden, um unformatierte Webanfragen von IIS abzufangen und alle Antworten zurückzugeben, ob es sich um ein Webformular, ein Bild, eine Datei oder was auch immer handelt. was ich als einfaches ASP.NET ohne WebForm oder MVC bezeichnen könnte. Problem mit IHttpHandler
Asp.Net umfasst den System.Web-Namespace. Webforms ist der System.Web.UI-Namespace. Einer der entscheidenden Unterschiede ist, dass die Klassen innerhalb von System.Web.UI normalerweise keine HTML-basierten Standards ausgeben und SEO ein Alptraum sein kann.
Asp.Net kann ein grundlegendes Templating-System ähnlich wie viele andere Web-Frameworks bereitstellen und der Entwickler kann komplette Websites erstellen, ohne WebForms-Steuerelemente zu verwenden. Dies ist jedoch eine atypische Situation, da der typische Asp.Net-Entwicklungsprozess vor Asp.Net Ajax und Asp.Net MVC ohnehin die Steuerelemente in der Toolbox verwendet.
Tags und Links asp.net-mvc asp.net webforms