ASP.NET beinhaltet ein neues Programmiermodell für Webseiten. Dieses Modell wird als Webform-Programmiermodell oder ASP.NET Page Framework bezeichnet.

Ein Webform ist eine .aspx-Seite, die neben konventionellem HTML-Code auch sogenannte Serversteuerelemente (in XML-Form) beinhaltet.

WICHTIG
Ein Webform enthält nicht notwendigerweise ein Eingabeformular. Der Begriff Webform bezeichnet in ASP.NET allgemein eine Webseite, die mit serverseitigem Code ausgestattet ist.


Die nachstehende Abbildung zeigt eine grobe Sicht auf das ASP.NET-Programmiermodell:

  • Der Webserver stellt eine HTTP-Anfrage an den Webserver.
  • Der Webserver leitet die Anfrage an die ASP.NET-Seite weiter.
  • Die ASP.NET-Seite besteht auf dem Webserver aus HTML-Code, XML-Code und .NET-Programm­code.
  • Das ASP.NET Page Framework führt die Seite aus und erzeugt daraus eine HTTP-Antwort.
  • Die HTTP-Antwort enthält nur HTML, Cascading Style Sheets (CSS), JavaScript und Zustandsdaten (z.B. in Form von Cookies).
  • Der Browser stellt die HTML-Seite dar und führt den JavaScript-Code aus.

Das unterscheidet sich noch nicht fundamental von anderen Rahmenwerken zur Webserverprogrammierung. Die interessanten Details liegen in der Ausführung der ASP.NET-Seite und der Erzeugung der Ausgabe (Rendering). Dies wird in den folgenden Kapiteln besprochen.

Abbildung 4.1    Client-Server-Architektur unter Einsatz von ASP.NET

ASP.NET und der Client

ASP.NET ist primär eine serverseitige Web-Technologie, d.h., die erstellte ASP.NET-Anwendung wird für den Webserver erstellt und dort auch ausgeführt. Der serverseitige Charakter von ASP.NET kann gar nicht oft genug betont werden, denn immer wieder werden bei Vorträgen und in Newsgroups Fragen gestellt, wie man denn mit ASP.NET drucken oder ein neues Browserfenster öffnen kann. Die Antworten auf diese Fragen sind immer gleich: Grundsätzlich kann man das nicht mit ASP.NET erledigen, denn ASP.NET kann den Browser oder den Clientcomputer (auf dem der Browser läuft) nicht steuern, sondern nur Inhalte erzeugen, die der Browser darstellen kann. ASP.NET könnte Druckaufträge höchstens für einen von dem Webserver erreichbaren Netzwerkdrucker in einem Intranet erzeugen. ASP.NET kann nicht auf die System­steuerung oder die Programme des Clients zugreifen. Das ist auch so gewollt, denn ein Client im Web will vor Systemzugriffen durch den Webserver geschützt sein. ASP.NET erzeugt HTML-Code, der vom Browser verarbeitet wird. HTML selbst enthält keine dynamischen Elemente.

Keine Regel ohne Ausnahme: ASP.NET kann aber neben HTML-Code auch Browser-Skriptcode (z.B. JavaScript) an den Client senden. Zum Teil erzeugt ASP.NET zusammen mit dem HTML-Code automatisch auch einige JavaScript-Funktionen. Der Entwickler hat die Möglichkeit, selbst eigenen JavaScript-Code auf dem Server zu generieren und an den Client zu senden. In Zukunft wird ASP.NET noch mehr Unterstützung für JavaScript bieten. Diese Ausnahme ändert aber nichts daran, dass man nicht erwarten darf, dass ASP.NET den Client komplett selbst steuern kann.

Durch die ASP.NET AJAX-Erweiterungen wird der clientseitige Anteil von ASP.NET stark vergrößert.


Inhalt dieses Kapitels:


Abstraktion durch Serversteuerelemente (Adaptive Rendering) >>