Struktur

Filestruktur / Komponenten einer ASP.net Applikation. Übersicht über die Applikationskomponenten einer ASP.net Applikation


undefined

Root

Hauptapplikationsverzeichnis - Beherbergt die Applikationen innerhalb der IIS Site. Eine .net Applikation in einem Applikationsverzeichnis ist ein in sich geschlossener Bereich wobei jede Applikation Ihre eigenen Applikationsereignisse, Variablen usw.… erzeugt und verwaltet, und so von anderen Applikationen kapselt. So könnte in diesem Beispiel die Applikation CorrectSubApplication nicht auf Applikationsereignisse oder Applikationsvariablen der Hauptapplikation zugreifen. 

/bin

Assembly Verzeichnis. Ablage der .dll Assemblys Dateien.

/InCorrectSubApplication

Ein Beispiel für eine falsch angelegte ASP.net Applikation ohne Applikationsverzeichnis. Wird üblicherweise von anderen Programmen als Visual Studio angelegt d.h. nicht als Applikationsverzeichnis. Da eine Applikation Ihre Komponenten steht's im eigenem Root sucht, würden sich in der InCorrectSubApplication/web.config getroffene Einstellungen nicht z.B. auf die in dem Verzeichnis liegende noCodeBehind.aspx auswirken. Lösung: entweder alle .net Komponenten in diesem Verzeichnis wie web.config, /bin usw.… ins Root kopieren oder eine Umwandlung von nCorrectSubApplication in ein Applikationsverzeichnis durchführen. Wie erwähnt, Visual Studio erstellt von sich aus ein entsprechendes Verzeichnis.

/CorrectSubApplication

Ein Beispiel für eine funktionierende Applikation mit Applikationsverzeichnis. Alle Darin enthaltenden .net Komponenten verhalten sich vollkommen autark vom Rest der Instanz.

Web.config

XML Konfigurationsdatei für die aktuelle ASP.net Applikation. (ähnlich php.ini für PHP). Eine Liste der Konfigurationselemente inkl. deren Bedeutung für ASP.net 1.1 findet Ihr hier. Und hier findet Ihr eine Beispiel web.config, wie sie von Visual Studio 2003.net angelegt wird. Im IIS 6 spielt die web.config nur eine Rolle für ASP.net, in der nächsten Version wird diese praktisch die .htaccess des IIS werden denn mit Ihr werden sich dann auch das verhalten von IIS selbst steuern lassen. 

Global.asax

Behandelt Ereignisse, welche im Lebenszyklus der Applikation auftreten. So können bestimmte globale Aktionen im Anwendungs-Lebenszyklus ausgeführt werden z.B. wenn die Applikation startet d.h. zum Beispiel kurz nach dem Upload oder wenn der AppPool recycled wurde. Ebenso kann das Ende einer Applikation „behandelt" werden.

.aspx

Standard ASP.net Datei. Dient bei Verwendung von CodeBehind nur als Frontend. Und beherbergt die Oberfläche für eine ASP.net Applikation d.h. HTML/Java Code und die definitionen für die User und CustomControls. 

.aspx.cs / .aspx.vb

Diese Datei Extension sollte eigentlich nie auf einer Instanz zu sehen sein aber leider kommt dies hin und wieder vor. Diese Dateien enthalten den Programmcode in seiner Ursprünglichen .net Sprache und sind Bestandteil des CodeBehind Prinzip. Also steht .aspx.cs für C# und aspx.vb für Visual Basic .net. Dieser Code befindet sich nach der Übersetzungsprozedur in der Assembly und sollte (Richtiges Deployment vorausgesetzt) bei Nutzung von Visual Studio nicht auf die Instanz gelegt werden, aber der Vollständigkeit halber hier mit aufgeführt. Webmatrix schreibt übrigens nur Inlinecode d.h. der C# und VB Code werden direkt in das .aspx File geschrieben. Anders beim Quasi Nachfolger Visual Web Developer Express Edition, dieser kann keine Assemblys erzeugen, arbeitet aber mit Codebehind. Hierbei liegen die .aspx.cs / .aspx.vb Files immer auf dem Webspace.

Stellt ein Benutzersteuerelement dar, welche einfach ausgedrückt als eine Art HTML Template mit Programmcode fungieren. Diese Dateien enthalten eine @Control Direktive (meinst in der 1. Zeile), über die individuelle Einstellungen für diese Datei getroffen werden können, ähnlich bzw. teilw. Identisch mit der @Page Direktive.

.master

Frontendseite einer Masterpage. Im Prinzip gleich wie eine normale .aspx Datei mit dem Unterschied, dass hier statt einer Page Direktive eine Master Direktive vorhanden ist.


  • 23.09.2018 08:47:06