Seminar Sommersemester 2002 ASP.NET Andre Margousian

Preview:

Citation preview

Seminar Sommersemester 2002

ASP.NET

Andre Margousian

ASP.NET Andre Margousian

Inhalt

1. Von HTML zu ASP & ASP.NET

2. Ein Rückblick auf ASP

3. Warum ASP.NET?

4. Die .NET Palttform

5. Was ist neu an ASP.NET?

ASP.NET Andre Margousian

Von HTML zu ASP & ASP.NET

Warum ASP & ASP.NET?

Statische HTML-Seiten reichen nicht aus, um größere Web-Anwendungen zu realisieren

Verbesserung durch clientseitigen JavaScript

Mit ASP & ASP.NET können dynamische Anwendungen realisiert werden

Beispiele: Gästebuch, Online-Shop, interne Geschäftsdatenbanken

ASP.NET Andre Margousian

Von HTML zu ASP & ASP.NET

Warum ASP & ASP.NET?

Die Entwicklung von Internet-Anwendungen wird immer wichtiger.

Das häufigste Frontend wird in Zukunft Browser basiert sein.

Microsoft hat die Active Server Pages grundlegend renoviert.

ASP.NET ein mächtiger Nachfolger für die .NET Plattform.

ASP & JSP im Vergleich Andre Margousian

Ein Rückblick auf ASP

Was ist ASP ?

Active Server Pages (ASP) entwickelt von Microsoft

Skriptumgebung auf Serverseite

Dynamische und interaktive Webserver-Anwendungen können erstellt und ausgeführt werden

Keine Arbeit für das Erstellen von HTML-Seiten auf Clientseite, da Skripte auf Webserver ausgeführt werden

ASP & JSP im Vergleich Andre Margousian

Ein Rückblick auf ASP

Sie besitzen eine leistungsfähige ActiveX-Komponente

Dabei kommt das sogenannte ActiveX-Data-Object Modell (ADO) zum Einsatz

ASP-Code wird als Script in HTML-Seiten eingefügt und bei Request seitens des Clients vom Webserver ausgeführt

Innerhalb der Scripts läßt sich ADO verwenden

ASP & JSP im Vergleich Andre Margousian

Ein Rückblick auf ASP

ASP ist eine Kombination aus HTML-Seiten, Skriptbefehle und ActiveX-Komponenten

Ausführung des ASP-Skripts, wenn Browser .asp-Datei vom Webserver anfordert

Webserver ruft dann ASP-Modul auf, das die Datei liest, etwaige Befehle ausführt und HTML-Seite an Browser sendet

ASP & JSP im Vergleich Andre Margousian

Warum ASP.NET?

Eigenschaften von ASP.NET

Sprachunabhängigkeit

Vereinfachte Entwicklung

Trennung von Code und Inhalt(Seperating logic from format)

Verbesserte Skalierbarkeit

ASP & JSP im Vergleich Andre Margousian

Warum ASP.NET?

Eigenschaften von ASP.NET

Unterstützung mehrerer Clients

Neue Web Form-Steuerelemente

Serverseitige Verarbeitung

ASP.NET Andre Margousian

Die .NET Plattform

vereinheitlicht die bisher unterschiedlichen Laufzeitsysteme für die verschiedenen Programmiersprachen

alle Sprachen haben einen gemeinsamen Laufzeitsystem, der Common Language Runtime(CLR).

CLR ist ein Manager für den Code, ist zuständing für das Laden und Ausführen der Befehle.

ASP.NET Andre Margousian

Die .NET Plattform

Compiler erzeugen keine Maschienenspezifische Code mehr, sondern eine Zwischensprache(MSIL)

ASP.NET Andre Margousian

Die .NET Plattform

MSIL

Zwischensprache wird Microsoft Intermediate Language (MSIL) bezeichnet.

jeder Compiler, der MSIL erzeugt, kann Code unter Aufsicht der Runtime ausführen lassen .

MSIL wird auf dem Zielsystem beim ersten Aufruf in Maschinencode umgesetzt.

ASP.NET Andre Margousian

Die .NET Plattform

MSIL

MSIL ist also unabhängig von der Hardwareplattform

MSIL ist ein CPU-unabhängiger Anweisungssatz, der effizient in systemeigenen Code konvertiert werden kann

MSIL heißt auch Managed Code

Um es Plattformspezifisch zu machen muss es mithilfe des Just-in-Time-Compilers(JIT) kompiliert werden

ASP.NET Andre Margousian

Die .NET Plattform

Metadaten

Sind Daten, die der .NET-Sprachcompiler bei der Kompilierung des Quellcodes in MSIL erzeugt

Metadaten beschreiben die im Quellcode verwendeten Typen

Mit den Metadaten verfügt die Runtime über alle Informationen, die zur Laufzeit zum Auffinden und Extrahieren des Codes aus der MSIL erforderlich sind

ASP.NET Andre Margousian

Die .NET Plattform

Kompilierung und Ausführung von MSIL

Kompilierung

Ausführung

JIT-Compiler (Just-in-Time)

Source-Code

Source-Code

MSILMetadaten

MSILMetadaten

Sprach-CompilerSprach-

Compiler

JIT-Compiler

JIT-Compiler

Systemeig.-Code

Systemeig.-Code

ASP.NET Andre Margousian

Die .NET Plattform

JIT-Compiler (Just-in-Time)

Der Faktor der Plattformunabhängigkeit

Übersetzt nicht den gesamten MSIL Code

Kompilierung von Code nach Bedarf

Kompilierte systemeigene Code wird zur Wiederverwendung im Cache abgelegt

ASP.NET Andre Margousian

Die .NET Plattform

Funktionsweise der JIT-Kompielierung

Wenn eine Klasse geladen wird, bekommt jede Methode der Klasse einen Stub

Wenn die Methode zum ersten mal aufgerufen wird, wird die Steuerung an JIT-Compiler übergeben.

Der JIT-Compiler kompiliert dann den MSIL in systemeigene Code

Der Stub wird so verändert, dass er jetzt auf dem systemeigenen Code verweist

So werden alle nachfolgenden Aufrufen direkt an den Systemeigenen Code geleitet

ASP.NET Andre Margousian

.NET Framework

umfangreiche Klassenbibliothek, die alle Bereiche der Programmierung abdeckt

Sie vereinheitlicht die bisherigen Programmierschnittstellen

.NET ist komplett objektorientiert

Jeder Code ist innerhalb einer Klasse verborgen, was auch für ASP.NET-Seiten gilt

ASP.NET Andre Margousian

.NET Framework

ASP.NET Andre Margousian

Was ist neu an ASP.NET?

Was ist neu?

Features und Änderungen

WebForms

WebControls

Beispiele

ASP.NET Andre Margousian

ASP.NET

Features und Änderungen

eine Reihe von sehr guten, aber leider tiefgreifenden Änderungen.

ASP und ASP.NET können parallel betrieben werden.

die Engine erkennt die ASP.NET Dateien an der neuen Endung .aspx.

ASP.NET Andre Margousian

ASP.NET

Features und Änderungen

Da ASP.NET auf der Common Language Runtime aufsetzt, wird der Code kompiliert, nicht interpretiert.

Eine ASP.NET-Seite wird beim ersten Aufruf in eine .NET-Klasse kompiliert, die bei den nachfolgenden Aufrufen benutzt wird.

Da die ASP.NET-Seiten beim ersten Zugriff kompiliert werden, verbessert sich das Laufzeitverhalten deutlich

ASP.NET Andre Margousian

ASP.NET

Programmiersprache

VBScript wird unter ASP.NET nicht weiter unterstützt.

ASP.NET kann in allen .NET Sprachen geschrieben werden.

Im Regelfall wird VB.NET oder C# verwendet.

ASP.NET Andre Margousian

ASP.NET

ASP.NET Anwendungen

Eine Anwendung besteht aus:

-ASP.NET SeitenWebForms (WebForm1.aspx)WebServices (Service1.asmx)

-Komponenten (assemblies)Resource1.resx

-Konfigurationsdateienconfig.webglobal.asax

Sämtliche Elemente einer Anwendung müssen sich in einem Verzeichnis befinden

ASP.NET Andre Margousian

ASP.NET

Webforms

WebForms sind das Internet-Gegenstück zu WinForms.

WinForms kennen wir alle als Fenster von Windows Applikationen.

Mit WebForms ist die visuelle Gestaltung von Internet-Seiten möglich.

ASP.NET Andre Margousian

ASP.NET

HTML und Code trennen(CodeBehind)

Ein Formular besteht nunmehr aus zwei Teilen: dem Design- und dem Anweisungs-Code.

So wird endlich eine saubere Trennung von Code und Darstellung möglich. Diese Vorgehensweise wird auch als CodeBehind bezeichnet.

ASP.NET Andre Margousian

ASP.NET

Die Beziehungen zwischen den Dateien

System.Web.UI.Page ist die Basisklasse für jede Webform

Die Klasse in der CodeBehind-Klassendatei erbt von der

KlasseSystem.Web.UI.Page

WebForm-Datei erbt von der CodeBehind-Klassendatei

Ergebnisdatei

System.Web.UI.PageSystem.Web.UI.Page

WebForm1.aspx.vbCodeBehind-Klassendatei

WebForm1.aspx.vbCodeBehind-Klassendatei

WebForm1.aspxWebForm1.aspx

Kompilierte .dll Kompilierte .dll

ASP.NET Andre Margousian

ASP.NET

WebControls

Objekte in Webforms: Eingabefeldern, Buttons alle anderen "<input>" Elemente, serverseitige Labels und auch ein komplexes Element DataGrid zur Darstellung von Datenbank-Inhalten.

WebControls sind serverseitige Steuerelemente.

Sie Entsprechen die von den Visual Basic und VBA her bekannten Steuerelementen.

ASP.NET Andre Margousian

ASP.NET

WebControls

Sie werden beim Aufruf eines Formulars vom Server passend erzeugt.

Die zugehörigen Frameworkklassen sind unter System.Web.UI.WebControls zu finden.

Erkennbar am Zusatz runat="server“

ASP.NET Andre Margousian

ASP.NET

WebControls

Erzeugen serverseitig HTML-Output

WebControls merken sich Ihren Zustand (Viewstate)

Controls können zusammengesetzt werdenEinfaches Beispiel 2 Textfelder für die Eingabe von Vor- und Nachname einer Person

ASP.NET Andre Margousian

ASP.NET

Beispiele

Beispiel.aspx (WebForm) Beispiel.aspx.vb (CodeBehind-Klassendatei)

ChangeButton.aspx ChangeButton.aspx.vb

Login.aspx Login.aspx.vb

ASP.NET Andre Margousian

ASP.NET

ChangeButton.aspx

1. 2.

ASP.NET Andre Margousian

ASP.NET

Login.aspx

ASP.NET Andre Margousian

ASP.NET

Links

www.gotdotnet.com

msdn.microsoft.com

www.asp.net

www.icsharpcode.net

www.brinkster.com

Recommended