Sie sind hier: Wissen
Begriff Active Server Pages .NET
Abkürzung ASP.NET
Eintrag zuletzt aktualisiert am 10.05.2021

 Zur Stichwortliste unseres Lexikons

Was ist Active Server Pages .NET ?

Active Server Pages .NET (meist nur kurz als "ASP.NET" bezeichnet) ist ein serverseitiges Webframework im Rahmen von .NET.

Während es zu Beginn nur ASP.NET Webforms und ASP.NET Webservices gab, existieren mittlerweise verschiedene Techniken unter dem Oberbegriff ASP.NET. Seit dem Jahr 2016 gibt es mit ASP.NET Core auch eine Neuimplementierung im Rahmen der .NET Core-Strategie. ASP.NET Core läuft nicht nur auf Windows mit Internet Information Services (IIS), sondern auch auf Linux und macOS mit Webservern wie Apache und nginx.

Geschichte

1996 Active Server Pages (ASP)
VBScript
IIS unter Windows
COM-Komponenten

2001 Active Server Pages .NET (ASP.NET)
C#, VB.NET, JScript.NET und andere Sprache
IIS unter Windows
.NET- und COM-Komponenten

2016 ASP.NET Core
C#, F#
IIS, Apache, nginx, Kestrel unter Windows, Linux und macOS
.NET- und COM-Komponenten (COM nur unter Windows)
Seit 2020 auch im Browser (Blazor WebAssembly)

ASP.NET-Oberflächentechniken

ASP.NET ist eine ganze Familie von Webframeworks. Fünf Familiemitglieder dienen der Erstellung von Webanwendungen mit Benutzerschnittstelle:
1. ASP.NET-Webforms ist das ursprüngliche auf Basis von Webserversteuerelementen, die HTML, CSS und JavaScript generieren. JavaScript kommt hierbei nur in geringen Dosen zum Einsatz. Mit dem sogenannten ViewState kann ein Seitenzustand zwischen zwei HTTP-Anfragen gehalten werden. Der Entwickler hat bei Verwendung der Webserversteuerelemente nur begrenzten Einfluss auf die HTML-Ausgabe. Vorteil des Modells ist aber die hohe Produktivität.
2. ASP.NET AJAX, eine Erweiterung zu Webforms, dient der Ausweitung der Möglichkeiten zur clientseitigen Ausführung im Browser mit JavaScript. Dazu bietet ASP.NET AJAX einige Steuerelemente, die mit viel JavaScript im Browser laufen.
3. ASP.NET Dynamic Data Websites sind ein metadatengetriebener Ansatz zum Erzeugen von Weboberflächen zur Datenansicht und Dateneingabe, vergleichbar mit Ruby-on-Rails. ASP.NET Dynamic Data wurde mit .NET 3.5 Service Pack 1 eingeführt und in .NET 4.0 erweitert.
4. ASP.NET Model View Controller (MVC) ist seit dem Jahr 2009 das wichtigste Archotekturmodell. Der Controller auf dem Server füttert den MVC-View mit Daten. Der View erzeugt aus einer Template-Syntax mit einer wählbaren View Engine (Microsoft liefert ASPX-Syntax <span><%=x%></span> und die Razor-Syntax <span>@x</span>) eine HTML-Seite, die als Ganzes zum Webbrowser übertragen wird. Der Browser schickt Daten per URL oder HTTP-Request-Body zurück an den Server, der dann eine neue, ganze Seite rendert und diese wieder zum Client sendet. Der Client tauscht die Seite aus, der Benutzer nimmt ein Flackern war. JavaScript zur Ausführung im Browser ist optional einstreubar in vom Webserver gerenderten HTML-Dokumenten. ASP.NET MVC bietet eine starke Kompetenztrennung in der Benutzerschnittstelle, eine gute Kontrolle über die HTML-Ausgabe, eine gute Integrierbarkeit von JavaScript sowie gute Testbarkeit. MVC ist aber weniger produktiv als das Webforms-Modell, weil es hier keine Abstraktion durch Webserversteuerelemente und ViewState gibt.
5. ASP.NET Webpages basieren auch auf der Razor-Syntax, verflechten aber Programmcode und HTML/CSS in einer Datei (.cshtml). Es gibt einen zugehörigen Editor "Webmatrix". ASP.NET Webpages und Webmatrix richten sich eher an Gelegenheits- und Hobby-Entwickler. Microsoft zielte mit dieser Variante auf Entwickler, die PHP mögen. In Deutschland hatte dieses Architekturmodell nur geringe Bedeutung.

ASP.NET-Webservicestechniken

1. SOAP-basierte Webservices kann man in ASP.NET seit der Version 1.0 mit "ASP.NET Webservices" (alias: ASMX) erstellen. Das Architekturmodell gilt jedoch als veraltert, seit .NET Framework 3.0 im Jahr 2006 die Windows Communication Foundation (WCF) eingeführt wurde.
2. REST-basierte Webservices erlaubt ASP.NET WebAPI, dass es seit dem Jahr 2012 gibt.

Verbreitung

ASP.NET Webforms ist nach PHP weiterhin die weltweit am häufigsten angesetzte Webservertechnik – sowohl in hochfrequentierten Websites ("Top 10.000 Sites") als auch bei kleineres Websites ("Top Million Sites"), vgl. Statistiken von "BuildWith" (http://trends.builtwith.com). ASP.NET MVC, ASP.NET Dynamic Data und ASP.NET Webpages führen ein Nischendasein.

Nicht-visuelle ASP.NET-Techniken

Außerdem gibt es noch vier Techniken in ASP.NET, die nicht oder nicht ausschließlich der Oberflächenprogrammierung dienen:
1. ASP.NET-Webservices (auch bekannt als ASMX) zur Erstellung von XML-Webservices (HTTP-Handler für SOAP). Diese Technik gilt als veraltert. Seit .NET 3.0 ist der Nachfolger die Windows Communication Foundation (WCF)
2. ASP.NET Web API ist eine neue Technik in .NET 4.5 zur Erstellung REST-basierter Webservices. Sie lässt wiederum einen Teil der WCF ab.
3. ASP.NET-HTTP-Handler sind eine Basistechnik in ASP.NET. Ein Handler nimmt eine HTTP-Anfrage entgegen und liefert eine beliebige Antwort. Sie kann auch einen zu visualisierenden Inhalt haben, z.B. eine Ad-hoc auf dem Server erzeugte Grafik liefern. Man kann eigene ASP.NET-HTTP-Handler als .ashx-Dateien implementieren. HTTP-Handler sind mit ISAPI-Erweiterungen im IIS vergleichbar, die einen bestimmten Dateityp bedienen.
4. Ein ASP.NET-HTTP-Module sind eine weitere Basistechnik in ASP.NET. HTTP-Module sind mit ISAPI-Filtern vergleichbare Erweiterungen für HTTP-Module. Ein oder mehrere ASP.NET-HTTP-Module können vor die Verarbeitung durch einen Handler geschaltet werden und Verarbeitungsschritte (z.B. Authentifizierung) ausführen.

Aktuelle Online-Artikel

 ASP.NET 2.0-Beispielanwendung

Beratung & Support

Schulungen zu diesem Thema

 .NET Akademie: Webservices, verteilte Systeme, SOA und REST mit .NET/.NET Core (WCF, ASP.NET WebAPI)
 Neuerungen in .NET Core 2.1/2.2 gegenüber Version 2.0 (inkl. ASP.NET Core, Entity Framework Core)
 ASP.NET Webforms (System.Web) - Aufbauwissen
 Umstieg von .NET-Desktop-Entwicklung (WPF/Windows Forms) auf Webentwicklung (ASP.NET/ASP.NET Core + JavaScript/TypeScript mit Webframeworks wie Angular, Vue.js oder React)
 Von ASP.NET 1.1 nach ASP.NET 2.0: Neuerungen in ASP.NET 2.0
 Tipps & Tricks für bessere Websites/Webanwendungen mit ASP.NET Core
 Migration von ASP.NET 1.x zu ASP.NET 2.0
 Umstieg auf ASP.NET Core WebAPI und Google RPC (gRPC) in .NET 8.0/9.0 (Umstellung/Migration von ASP.NET WebAPI und/oder WCF in .NET Framework auf ASP.NET Core und gRPC in .NET 6.0/7.0/8.0)
 ASP.NET Webforms im Überblick - Weboberflächen mit .NET
 ASP.NET Core WebAPI 8.0/9.0: REST Services/HTTP Services/Microservices
 Umstieg auf ASP.NET Core 8.0/9.0-Webanwendungen in .NET 6.0/7.0/8.0 (Umstellung/Migration von klassischen ASP.NET-Webanwendungen auf ASP.NET Core)
 ASP.NET Webforms (System.Web) - Profiwissen
 Open Data Protocol (OData) mit WCF Data Services und/oder ASP.NET WebAPI und/oder RESTier
 ASP.NET WebAPI: REST-Services/HTTP-Services/Microservices
 Moderne Web-Anwendungen mit ASP.NET (Core) MVC, WebAPI, HTML5.x/CSS3 und JavaScript-/TypeScript-Frameworks
 ASP.NET Webforms-Crashkurs (3 Tage)
 ASP.NET Webforms (System.Web) - Basiswissen
 ASP.NET Dynamic Data Websites - das "Ruby on Rails" von .NET
 ASP.NET Model View Controller (ASP.NET MVC) und ASP.NET WebAPI für ASP.NET MVC 5.x oder ASP.NET MVC Core 6.0/7.0/8.0
 ASP.NET Core 8.0 - Änderungen und Neuerungen gegenüber ASP.NET Core 7.0
 ASP.NET Core 9.0 - Änderungen und Neuerungen gegenüber ASP.NET Core 8.0
 ASP.NET Webforms (System.Web) - Datenzugriff
 Von ASP.NET 2.0 nach ASP.NET 3.5: Neuerungen in ASP.NET 3.5.
 Von ASP.NET 3.5 nach ASP.NET 4.0/4.5: Neuerungen in ASP.NET 4.0/4.5
 ASP.NET SignalR / ASP.NET Core SignalR
 ASP.NET Core 7.0 - Änderungen und Neuerungen gegenüber ASP.NET Core 6.0
 Erstellung von Web-Anwendungen mit ASP.NET Webforms
 Neuerungen in .NET Core 3.0/3.1 gegenüber Version 2.x (inkl. ASP.NET Core, Entity Framework Core, WPF und Windows Forms)
 Von ASP zu ASP.NET: ASP.NET für Umsteiger von klassischem ASP
 AJAX mit ASP.NET (Microsoft AJAX Framework / ASP.NET AJAX Extensions / "Atlas")
 Anfrage für eine individuelle Schulung zum Thema Active Server Pages .NET ASP.NET  Gesamter Schulungsthemenkatalog