Grundlagen


 Was ist ASP.net?

Die Technik oder auch die Programmierung unter ASP.net ist nicht mehr vergleichbar mit den alt bekannten Technologien wie z.B. PHP oder ASP. Bei Beiden genannten Technologien wurde der Code nur "geparsed" und dann seinem Schicksal überlassen, anders bei ASP.net. Um das Prinzip zu verstehen, sollte man die wichtigsten Komponenten kennen. Die wohl wichtigste Komponente ist die Runtime (Common Language Runtime -> CLR) welche den Code der verschiedenen .net Sprachen wie VB.net, C# oder managed C++ in eine Zwischensprache kompiliert, welche u.A. Rechte Anforderungen des Codes überprüft und dann ähnlich wie Java, in einer eigenen Umgebung (Laufzeitumgebung/Common Language Runtime - CLR) ablaufen lässt. Dabei kümmert sich die Runtime auch um das Speichermanagement in Form des Garbage Collectors, der einfach ausgedrückt alles im Speicher killt, was nicht mehr benötigt wird. Bei C++ usw.. wäre das noch Aufgabe des Code Autors gewesen.

Eine weitere, wichtige Komponente ist die Framework Class Library, kurz FCL. Diese stellt etliche Klassen, Funktionen, Typen, Interfaces usw.… bereit. Sozusagen der Werkzeugkasten eines Entwicklers. Unterteilt wird die FCL in so genannte Namespaces, in welche sich die einzelnen Klassen organisieren. Jeder Namespace wurde zu einem bestimmten Zweck geschaffen. So ist z.B. der Namespace System.IO für .net sowas wie die FSO Komponente für das klassische ASP, also zuständig für Dateibasierte Operationen wie kopieren, löschen usw. 

 ASP.net Applikationen

Grob beschrieben ist eine ASP.net Applikation eine Ansammlung von Dateien in einem Verzeichnis (Applikationsverzeichnis). Diese Dateien haben alle einen bestimmten Zweck in diesem „Applikationsverzeichnis". Da wären z.B. das /bin Verzeichnis, die web.config und global.asax (Der Zweck dieser Elemente in einer Applikation wird später verdeutlicht). Dann gibt es in dieser Applikation noch die .aspx Dateien (Webform genannt - Stand 2007), diese stellen die „Oberfläche" der Applikation dar. Sie geben den generierten HTML Code an den User aus und greifen dabei auf Programmcode zu, der sich in einer .dll Dateien im Bin Verzeichnis befindet (Ausgenommen natürlich In-Line Code direkt in der aspx). Im Ganzen ist eine Applikation aber anzusehen wie eine Art Programm, welches über eigene Applikationsvariablen, Sessionvariablen und globale Ereignisse verfügt. All dies wird in einer solchen Applikation gekapselt. Das alles und noch mehr (für uns erstmal nicht relevante Elemente) ergeben zusammen eine ASP.net Applikation. Auf den nächsten Seiten wird die Struktur im Dateisystem zum leichteren Verständnis noch mal aufgeführt.

 Managed & Unmanaged

Managed ist alles, was von der .net Laufzeitumgebung (CLR) ausgeführt und verwaltet wird. Klassischer nativer Code wie z.B. eine com Komponente sind unmanaged d.h. diese läuft nicht innerhalb der .net Runtime und basieren auf nativen Code. Auf unmanged Code kann lediglich aus der Runtime heraus zugegriffen werden, was aber meist im Sharedhosting durch ein entsprechend konfigurierten Thrustlevel verhindert wird.

 Assemblies

Eine Assembly ist die Grundeinheit einer .net Anwendung und liegt im Falle von ASP.net in einer .dll im bin Verzeichnis der Applikation vor. Diese enthält den größten Teil des Applikationsprogrammcodes im MSIL (Microsoft Intermediate Language). Außerdem enthält eine Assembly selbst beschreibende Metadaten über Name, Version und Rechte Anforderungen und ist somit im Deployment besser zu handhaben als com. Leider tritt hier auch eines der größten Irrtümer auf. Eine com .dll Datei ist nicht gleichzusetzen mit einer .net dll. Eine .net Assembly .dll Datei kann ohne weiteres zutun eines Administrators im Sharedhosting verwendet werden. Com, also auch unmanaged .dlls wiederum erfordern händisches Sysadmin eingreifen und haben mit einer managed .net Assembly nichts zu tun, trotz der gleichen Dateiendung. Das manuelle Nachinstallieren von com Komponenten wird in fast keinem SharedHosting angeboten, Einige Anbieter wie z.B. 1und1 bieten lediglich vorinstallierte Komponten z.B. aspmail und safileup an.


  • 23.09.2018 08:44:11