Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Einstieg in ASP.NET von Matthias Lohrer
Einstieg in ASP.NET
gp Kapitel Wie .NET und ASP.NET funktionieren
  gp 1.1 Komponenten der .NET-Architektur
    gp 1.1.1 Common Language Runtime (CLR)
    gp 1.1.2 .NET Framework
    gp 1.1.3 Microsoft Intermediate Language (MSIL)
    gp 1.1.4 Managed Code, unmanaged Code
    gp 1.1.5 Common Type System (CTS)
    gp 1.1.6 Common Language Specification (CLS)
    gp 1.1.7 Just-in-Time-Compiler
    gp 1.1.8 ASP.NET
    gp 1.1.9 Web Services
    gp 1.1.10 VB- und C#-Compiler
    gp 1.1.11 Assembly
  gp 1.2 Aufbau des .NET Frameworks
    gp 1.2.1 Namensräume (Namespaces)
    gp 1.2.2 Häufig verwendete Namensräume
  gp 1.3 Grundlagen von ASP.NET
    gp 1.3.1 Gemeinsamkeiten mit anderen serverseitigen Programmiersprachen
    gp 1.3.2 Unterschiede zu anderen serverseitigen Programmiersprachen

Kapitel 1 Wie .NET und ASP.NET funktionieren

Was ist .NET? Was ist ASP.NET? Wo liegt der Unterschied zwischen ASP.NET und dem herkömmlichen ASP?

.NET (sprich: »dotnet«) bezeichnet eine Produktfamilie von Microsoft. Die .NET-Produktfamilie enthält als ein zentrales Element ein umfangreiches Framework, mit dem sich Software auf der Basis aktueller Microsoft-Windows-Betriebssysteme entwickeln und ausführen lässt.

gp  Für die Entwicklung von .NET-Software – dazu zählt auch ASP.NET – benötigen Sie das kostenlos erhältliche .NET Framework SDK oder eine der Versionen von Visual Studio .NET. Die Entwicklung von .NET-Software kann auf der Grundlage der Betriebssysteme Windows NT 4.0, Windows 2000 oder XP Professional erfolgen. Windows 98/Me und XP Home Edition sind für die Entwicklung von .NET-Software nicht geeignet, und für ASP.NET gilt die weitere Einschränkung, dass hierfür auch NT 4.0 nicht geeignet ist.
gp  Für die Ausführung von .NET-Software benötigen Sie die .NET-Laufzeitumgebung, die kostenlos verfügbar ist, und ein Betriebssystem, das für .NET geeignet ist. Neben Win NT 4.0, 2000, XP kommen hier auch Windows 98/Me in Frage. Windows 95 wird von .NET nicht mehr unterstützt.
gp  Für die Ausführung von ASP.NET-Anwendungen gilt: Der Server benötigt auf jeden Fall die .NET-Laufzeitumgebung und mindestens Windows 2000. Clients können mit jedem beliebigen Browser unter jedem Betriebssystem auf ASP.NET-Anwendungen zugreifen. Für die Clients sind also keine besonderen Systemvoraussetzungen zu erfüllen. Ein einfacher Browser reicht aus.

Wenn Sie .NET-Software entwickeln möchten, sollten Sie die Architektur des .NET-Frameworks kennen lernen. Bei der Beschäftigung mit .NET stoßen Sie auf zahlreiche neue Begriffe. Dieses Kapitel erläutert die Grundlagen der .NET-Architektur anhand dieser Begriffe.


Galileo Computing

1.1 Komponenten der .NET-Architektur  downtop


Galileo Computing

1.1.1 Common Language Runtime (CLRdowntop

Die Common Language Runtime bildet die Laufzeitumgebung für alle .NET-Programme. Sie ist so etwas wie der Motor von .NET. Das Konzept der Laufzeitumgebungen ist von anderen Sprachen her allgemein bekannt. Visual-Basic-Programme haben beispielsweise bis zur Version 5 ausschließlich mit Hilfe einer eigenen Laufzeitumgebung funktioniert. Das Besondere an der CLR ist, dass sie sprachenunabhängig ist. Die CLR ist eine Laufzeitumgebung für verschiedene Sprachen, von denen VB.NET und C# die bekanntesten sind. Eine Sprache ist für .NET geeignet, wenn es für sie einen Compiler gibt, der MSIL-Code erzeugt. Das ist ein Zwischencode, den die CLR versteht. Die CLR hat außerdem folgende Merkmale:

gp  Jede .NET-Anwendung führt die CLR in einer logischen AppDomain aus. Eine AppDomain ist ein virtueller Bereich, mit dem die CLR die einzelnen .NET-Anwendungen voneinander trennt.
gp  Der Just-in-Time-Compiler (JIT) der CLR übersetzt den IL-Code in Maschinencode.
gp  Die CLR verwaltet den Arbeitsspeicher und gibt nicht mehr benötigte Ressourcen automatisch frei (Garbage Collection).
gp  Die CLR überprüft, ob die Befehlsaufrufe im aktuellen Sicherheitskontext erlaubt sind (Code Access Security).
gp  Sie bietet Multithreading.
gp  Sie ermöglicht eine strukturierte Ausnahmebehandlung.
gp  Die CLR bietet über das Common Type System (CTS) einen einheitlichen Satz von Datentypen, den alle .NET-Programmiersprachen unterstützen.

Der Code, den die CLR ausführt, wird als verwalteter Code (managed Code) bezeichnet. Im Gegensatz dazu steht nicht verwalteter (unmanaged) Code. Dazu zählen beispielsweise herkömmliche COM-Objekte.


Galileo Computing

1.1.2 .NET Framework  downtop

Aus der Sicht eines Entwicklers bezeichnet das .NET Framework die umfangreiche Klassenbibliothek, die ein Entwickler für seine Arbeit benutzt. Das .NET Framework bietet die gesamte Funktionalität, die man zur Entwicklung von Desktop-Anwendungen oder Internetapplikationen benötigt.

Das .NET Framework umfasst mehrere tausend Klassen. Im .NET Framework SDK ist eine ausführliche Dokumentation des .NET Frameworks enthalten. Typischerweise wird ein Entwickler für seine Programme nicht alle Klassen nutzen, sondern benötigt nur einen Teil davon für seine Arbeit. Dennoch muss ein Entwickler für den Einstieg in die .NET-Welt einen gewissen Lernaufwand einkalkulieren.


Galileo Computing

1.1.3 Microsoft Intermediate Language (MSILdowntop

Wenn Sie VB.NET-Code oder C#-Code kompilieren und eine exe-Datei oder dll-Datei erstellen, dann enthalten diese Dateien keinen Maschinencode, sondern Code in Form der Microsoft Intermediate Language (MSIL oder IL). Diesen Code kann die Common Language Runtime CLR mit Hilfe des Just-in-Time-Compilers ausführen. Die MSIL wird also nicht interpretiert, sondern erst kompiliert und dann ausgeführt.


Galileo Computing

1.1.4 Managed Code, unmanaged Code  downtop

MSIL-Code, der von der CLR ausgeführt wird, wird als managed Code (verwalteter Code) bezeichnet. Wenn .NET-Programme auch herkömmliche COM-Objekte nutzen, werden diese Bestandteile als unmanaged Code ausgeführt. Die Vorteile der CLR, wie etwa automatische Speicherbereinigung, die strukturierte Ausnahmebehandlung etc., gelten nur für managed Code.


Galileo Computing

1.1.5 Common Type System (CTSdowntop

Das Common Type System definiert einen Satz von Variablentypen, die von allen .NET-Sprachen unterstützt werden. VB.NET und C# verfügen darüber hinaus aber über Datentypen, die nicht mit dem CTS kompatibel sind.


Tipp   Wer Klassen entwickelt, sollte sich bei allen Variablen, die öffentlich zugänglich sind, auf die CTS-Typen beschränken. Nur so ist gewährleistet, dass andere Klassen mit Ihren selbst erstellten Klassen kooperieren können.


Galileo Computing

1.1.6 Common Language Specification (CLSdowntop

Die Common Language Specification definiert einen Satz von Sprachfeatures, der von allen .NET-Sprachen verarbeitet werden kann. Das betrifft insbesondere die Typenbibliothek im Common Type System (CTS). Die meisten Mitglieder der .NET-Klassen sind CLS-kompatibel. Nur in Ausnahmefällen werden Sprachfeatures, die nicht CLS-kompatibel sind, unterstützt. In der Regel ist aber eine CLS-kompatible Alternative verfügbar.


Galileo Computing

1.1.7 Just-in-Time-Compiler  downtop

Der Just-in-Time-Compiler (JIT) übersetzt MSIL-Code in Maschinencode. Er ist ein Bestandteil der Common Language Runtime (CLR).


Galileo Computing

1.1.8 ASP.NET  downtop

ASP.NET bildet innerhalb des .NET Frameworks ein Subsystem für einen spezialisierten Bereich: die Erstellung von serverseitigen Webapplikationen.


Galileo Computing

1.1.9 Web Services  downtop

Web Services bilden eine Möglichkeit, Daten und Dienste rechnerübergreifend zur Verfügung zu stellen. Web Services sollen die Integration unterschiedlicher Software ermöglichen, die auf verschiedenen Hardwareplattformen unter unterschiedlichen Betriebssystemen läuft. Das .NET Framework enthält spezialisierte Klassen, die die Entwicklung von Web Services ermöglichen. Web Services haben in der täglichen Arbeit eines Entwicklers bislang nicht die herausragende Bedeutung erlangt, die Microsoft ihnen in seinen eigenen Werbeaussagen zumisst.


Galileo Computing

1.1.10 VB- und C#-Compiler  downtop

Die .NET-Compiler für VB.NET und C# erzeugen keinen Maschinencode, sondern einen Zwischencode in der Microsoft Intermediate Language (MSIL). Dieser IL-Code wird von der Common Language Runtime (CLR) ausgeführt.


Galileo Computing

1.1.11 Assembly  toptop

Beim Kompilieren entstehen eine oder mehrere exe- und dll-Dateien. Diese Dateien bilden zusammen eine Assembly (»Baugruppe«). Eine Assembly bildet eine logische Einheit. Beim Kompilieren werden der Assembly Informationen hinzugefügt, die diese Assembly beschreiben, das ist das so genannte »Manifest«. Ein Manifest enthält folgende Informationen:

gp  den Namen der Assembly und Versionsinformationen, die aus Hauptversions-, Nebenversions-, Revisions- und Buildnummer besteht,
gp  eine Auflistung der Typen, die in der Assembly definiert werden,
gp  eine Liste von Referenzen auf externe Ressourcen. Dabei werden globale von privaten Objekten unterschieden. Globale Objekte liegen im Global Assembly Cache. Private Objekte liegen im gleichen Verzeichnis wie die Anwendung selbst oder darunter,
gp  eine Auflistung der benötigten Berechtigungen.
  

Einstieg in VB.NET

VB.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML




Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de