Websiteentwicklung mit ASP.NET/ Grundlagen und Programmiersprachen

Aus Wikibooks

Grundlagen und Programmiersprachen[Bearbeiten]

Grundlagen[Bearbeiten]

ASP.NET ist eine auf .NET basierende Bibliothek für die Programmierung von Webseiten und Webservices. Im Gegensatz zu PHP ist ASP.NET jedoch nicht an eine Programmiersprache gebunden, im Prinzip kann jede CLR-kompatible Programmiersprache verwendet werden.

Benutzt man Entwicklungswerkzeuge, wie beispielsweise Visual Web Developer, so verbleiben C# und Visual Basic.NET als mögliche Sprachen. Alle hier verwendeten Beispiele sind in C# (Programmierkurs C#) erstellt. Bevor man mit der ASP.NET Programmierung beginnt sollte man sich daher näher mit C# beschäftigen, ein Blick auf die Programmiersprachen C/C++ kann ebenfalls nicht schaden.

Um Webseiten mit Inhalten zu füllen, wird natürlich HTML oder XHTML verwendet. Auch zu diesem Thema existiert ein Wikibook (Websiteentwicklung mit XHTML).

Vorteile von ASP.NET[Bearbeiten]

  • ASP.NET bietet eine klare Trennung von Design und Programmcode
  • weitgehende Unabhängigkeit von der Programmiersprache, bestehender Programmcode kann einfach über DLLs oder COM-Objekte eingebunden werden, selbst für exotische und ältere Programmiersprachen (Cobol, Fortran, ...) existieren Compiler die CLR-Code erzeugen
  • Geschwindigkeitsgewinn nach dem Prinzip "Kompilieren statt interpretieren"
  • einfache Datenbankintegration, Lokalisierung und Fehlerbehandlung

Nachteile von ASP.NET[Bearbeiten]

  • eine durchaus flachere Lernkurve als bei PHP
  • voller Funktionsumfang ist bisher an die Implementierung von Microsoft gebunden, die entsprechenden Alternativen (Mono) für Linux, Mac OS X, BSD und Co. verfügen jedoch bereits über die wichtigsten Funktionen

Werkzeuge[Bearbeiten]

Obwohl prinzipiell jeder Texteditor für die Programmierung ausreichend ist, bieten sich nicht nur für größere Projekte komfortablere Werkzeuge an. Die nachfolgende Auswahl kann gerne ergänzt werden:

  • #develop (oder auch SharpDevelop): eine Open-Source Entwicklungsumgebung u.a. mit Syntax-Hervorhebung, Code-Vervollständigung , XML - Editor, Designer
  • monodevelop : eine zu #develop sehr ähnliche Entwicklungsumgebung für Linux und MacOSX

Mit der Entwicklung beginnen[Bearbeiten]

Um mit der Programmierung zu beginnen, muss ein Webserver mit ASP.NET eingerichtet werden. Bei der Installation einiger Entwicklungswerkzeuge (Visual Studio.NET 2002/2003, Borland C# Builder,...) werden die Internet Information Services (kurz IIS) von Windows entsprechend eingerichtet. Ansonsten muss nach erfolgreicher Installation des .Net-Frameworks das Kommandozeilen-Programm aspnet_regiis.exe ausgeführt werden.

  • das Tool aspnet_regiis.exe liegt im Basisverzeichnis des .Net-Frameworks, in der Regel ähnlich %windir%\Microsoft.NET\Framework\v2.0.50727
  • mit dem Aufruf
    aspnet_regiis -i
    wird die ASP.NET aus dem aktuellen Verzeichnis installiert. Auf einem System können dabei durchaus verschiedene Versionen von .NET gleichzeitig verwendet werden.(z.B.: Version 1.1 und 2.0). Als Randnotiz sollte man hier ein Problem das sich bei den 64-bit Versionen von Windows ergibt erwähnen. Hier ist es in der Regel nicht möglich eine 32-bit Version von ASP.NET mit einer 64-bit Version gleichzeitig zu betreiben. Die Ursache liegt nicht bei .NET, sondern bei den IIS: diese können entweder als 32-bit Programm oder als 64-bit Programm ausgeführt werden. Eine Lösung des Problems wird unter [1] beschrieben.
  • umgekehrt deinstalliert man eine ASP.NET Version durch
    aspnet_regiis -u
  • anschließend sollte der IIS neu gestartet werden

Wer sich für das Gespann aus dem Apache Webserver und Mono (zum Beispiel auf Linux-Basis) entschieden hat, findet auf der Webseite des Mono-Projekts weitere Informationen ([2]).

Der Visual Web Developer, WebMatrix und die aktuelle Version des Visual Studio (2005) bringen ihren eigenen Web und SQL Server zur Entwicklung mit.

Prinzip der Webseiten-Erstellung[Bearbeiten]

Die dynamischen Webseiten, die mit ASP.NET erstellt werden, bestehen im wesentlichen aus drei Bausteinen:

  • einer Datei, die das Layout enthält (typische Endung: .aspx)
  • dem Programmcode (C#-Dateien, VB.NET-Dateien, DLLs, ...)
  • Informationen zur Konfiguration (u.a.: web.config, machine.config)

Wird eine Seite zum ersten Mal aufgerufen, so ruft der Webserver den zugehörigen Compiler auf. Dieser übersetzt die entsprechenden Dateien und das ASP.NET-Programm wird anschließend ausgeführt. Dieses Verfahren bietet wesentlich höhere Ausführungsgeschwindigkeiten im Gegensatz zu interpretierenden Websprachen, denn wird eine Seite wiederholt aufgerufen, so kann der Server auf den bereits kompilierten Code zurückgreifen.

Im Detail legt der hinterlegte Programmcode fest, wie die zurückzugebende Seite zu rendern ist; das Ergebnis wird dem Aufrufer durch den Webserver - entsprechend dem HTTP-Protokoll - zurückgesendet. Der Programmcode wird durch die Code Access Security (CAS) gegen Verstöße der vorher festgelegten Sicherheitsrichtlinien kontrolliert, so dass gegenüber CGI oder gewöhnlichen DLL-Plugins weitere Sicherheitsmechanismen vorhanden sind.