Übersicht über die ASP.NET-Konfiguration
Aktualisiert: November 2007
Mit den Features des ASP.NET-Konfigurationssystems können Sie alle ASP.NET-Anwendungen auf einem kompletten Server, eine einzelne ASP.NET-Anwendung, einzelne Seiten oder Anwendungsunterverzeichnisse konfigurieren. Zu den konfigurierbaren Features gehören Authentifizierungsmodi, Seitenzwischenspeicherung, Compileroptionen, benutzerdefinierte Fehler, Debug- und Ablaufverfolgungsoptionen usw.
In den folgenden Abschnitten werden die Features des ASP.NET-Konfigurationssystems beschrieben.
Weitere Informationen über das Konfigurieren von .NET Framework-Clientanwendungen finden Sie unter Konfigurieren von .NET Framework-Anwendungen.
Hinweis: |
---|
Die Features des ASP.NET-Konfigurationssystems gelten nur für ASP.NET-Ressourcen. So schränkt beispielsweise die Formularauthentifizierung nur den Zugriff auf ASP.NET-Dateien ein, nicht aber den Zugriff auf statische Dateien oder (klassische) ASP-Dateien, solange diese Ressourcen keinen ASP.NET-Dateinamenerweiterungen zugeordnet sind. Verwenden Sie die Konfigurationsfeatures von Internetinformationsdienste (IIS), um Ressourcen zu konfigurieren, die nicht zu ASP.NET gehören. Weitere Informationen finden Sie unter Working with the IIS Metabase und IIS Metabase Property Reference. |
Konfigurationsdateien
ASP.NET-Konfigurationsdaten werden in XML-Textdateien gespeichert, die alle den Namen "Web.config" erhalten. Die Web.config-Dateien können in ASP.NET-Anwendungen in mehreren Verzeichnissen vorkommen. Mit diesen Dateien können Sie die Konfigurationsdaten vor, während und nach dem Bereitstellen einer Anwendung auf dem Server bequem bearbeiten. Zum Erstellen und Bearbeiten der ASP.NET-Konfigurationsdateien können Sie einen Standardtext-Editor, das ASP.NET-MMC-Snap-In, das Websiteverwaltungs-Tool oder die ASP.NET-Konfigurations-API verwenden.
Die ASP.NET-Konfigurationsdateien sorgen für eine Trennung der Anwendungskonfigurationseinstellungen und des Anwendungscodes. Durch diese Trennung zwischen Konfigurationsdaten und Code lassen sich Einstellungen und Anwendungen leichter miteinander verknüpfen, Einstellungen können nach dem Bereitstellen einer Anwendung nach Bedarf geändert werden, und Sie können das Konfigurationsschema bequem erweitern.
Weitere Informationen über die Organisationsstruktur der Daten in ASP.NET-Konfigurationsdateien finden Sie unter ASP.NET-Konfigurationsdateien. Alle verfügbaren Konfigurationseinstellungen werden im Abschnitt ASP.NET-Konfigurationseinstellungen beschrieben.
Konfigurationsdateihierarchie und Vererbung
Die Konfigurationseinstellungen einer Datei Web.config werden auf das jeweilige Verzeichnis angewendet, in dem sich diese Datei befindet, sowie auf alle ihr untergeordneten Verzeichnisse. Einstellungen in übergeordneten Verzeichnissen können mit den Einstellungen aus untergeordneten Verzeichnissen optional überschrieben oder geändert werden. Um die Konfigurationseinstellungen einer Datei Web.config optional auf einzelne Dateien oder Unterverzeichnisse anzuwenden, müssen Sie in einem location-Element einen Pfad angeben.
Der Stamm der ASP.NET-Konfigurationshierarchie ist die Datei Systemstamm\Microsoft.NET\Framework\Versionsnummer\CONFIG\Web.config. Sie enthält Einstellungen, die für alle ASP.NET-Anwendungen gelten, die eine bestimmte Version von .NET Framework ausführen. Da jede ASP.NET-Anwendung die Standardkonfigurationseinstellungen von der Stammdatei Web.config erbt, müssen Sie die Dateien Web.config nur für diejenigen Einstellungen erstellen, die die Standardeinstellungen überschreiben.
Hinweis: |
---|
Die Stammdatei Web.config erbt einige grundlegende Konfigurationseinstellungen der Datei Machine.config, die sich im selben Verzeichnis befindet. Einige dieser Einstellungen lassen sich in den Dateien Web.config nicht überschreiben. Weitere Informationen finden Sie unter ASP.NET-Konfigurationsdateihierarchie und Vererbung. |
Zur Laufzeit verwendet ASP.NET die Dateien Web.config, um hierarchisch eine eindeutige Auflistung der Konfigurationseinstellungen für jede eingehende URL-Anforderung zu berechnen. Diese Einstellungen werden nur einmal berechnet und dann auf dem Server zwischengespeichert. Änderungen an den Konfigurationsdateien werden von ASP.NET erkannt und automatisch für die entsprechenden Anwendungen übernommen. Dazu führt ASP.NET in der Regel einen Neustart der Anwendungen aus. Hierarchische Konfigurationseinstellungen werden automatisch neu berechnet und zwischengespeichert, sobald eine Konfigurationsdatei in der Hierarchie geändert wird. Damit die Änderungen wirksam werden, muss der IIS-Server nicht neu gestartet werden. Ein Neustart des IIS-Servers ist nur dann erforderlich, wenn der processModel-Abschnitt geändert wurde.
Weitere Informationen über die Funktionsweise der ASP.NET-Konfigurationshierarchie finden Sie unter ASP.NET-Konfigurationsdateihierarchie und Vererbung und ASP.NET-Konfigurationsszenarios.
Direktes Bearbeiten von Konfigurationsdateien
Um die Konfigurationsdateien direkt zu bearbeiten, können Sie einen Text-Editor oder einen XML-Editor verwenden. Informationen zur richtigen Syntax finden Sie unter den Referenzthemen in den Konfigurationsabschnitten unter ASP.NET-Konfigurationseinstellungen und Allgemeine Konfigurationseinstellungen (ASP.NET). Weitere Informationen finden Sie unter Bearbeiten von ASP.NET-Konfigurationsdateien.
Zusätzliche Konfigurationselemente in der ASP.NET 3.5 Web.config-Datei
Die Web.config-Datei für eine ASP.NET-Anwendung, für die .NET Framework Version 3.5 als Zielversion festgelegt ist, enthält Konfiguratioinselemente, die in den Web.config-Dateien früherer Versionen nicht enthalten sind. Diese erweiterte Web.config-Datei wird auch erstellt, wenn Sie eine vorhandene Website öffnen und die Website aktualisieren, sodass .NET Framework Version 3.5 als Zielversion festgelegt wird. In diesem Fall aktualisiert Visual Studio die Web.config-Datei der Anwendung so, dass die zusätzlichen Konfigurationselemente enthalten sind.
In der folgenden Tabelle sind die neuen Konfigurationselemente und die Änderungen an Konfigurationselementen aus früheren Versionen von .NET Framework dargestellt.
Konfigurationselement |
Änderungen in Version 3.5 |
---|---|
system.codedom |
(Neuer Abschnitt) Gibt an, wie CodeDOM (.NET Framework Code Document Object Model) den Quellcode zur Laufzeit kompilieren sollte. |
configSections |
(Neuer Abschnitt) Definiert den system.web.extensions-Abschnitt, mit dem ASP.NET AJAX definiert, wie Webdienste über Clientskripts aufgerufen werden. Weitere Informationen hierzu finden Sie unter Webdienste in ASP.NET-AJAX. |
assemblies |
(Neuer Abschnitt im compilation-Element) Gibt die Auflistung von Assemblys an, auf die während der Kompilierung von ASP.NET-Seiten verwiesen wird. Assemblys, die in ASP.NET Version 3.5 neu sind, sind in diesem Abschnitt enthalten. |
namespaces |
(Aktualisierter Abschnitt) Dieser Abschnitt gibt an, welche Namespaces standardmäßig importiert werden. Der Linq-Namespace, der Linq-Namespace und der Generic-Namespace wurden hinzugefügt. |
controls |
(Aktualisierter Abschnitt) Dieser Abschnitt registriert Assemblys, die Steuerelemente enthalten, und stellt eine Präfix für den Verweis auf das Steuerelement bereit, ähnlich wie die Direktiven für ASP.NET-Webseiten-Seitendirektive Steuerelemente auf einer einzelnen Seite registriert. Standardmäßig registriert dieser Abschnitt Steuerelemente in der Extensions-Assembly. Diese schließen das ListView-Steuerelement und AJAX-bezogene Steuerelemente ein. |
system.webServer |
Dieser Abschnitt ersetzt die AJAX-bezogenen HTTP-Handler und -Module, die im Abschnitt httpHandlers und httpModules hinzugefügt wurden. Dieser Abschnitt macht die Handler und Module für IIS 7.0 bei der Ausführung im integrierten Modus verfügbar. |
assemblyBinding |
(Aktualisierter Abschnitt) Dieser Abschnitt weist die Laufzeit an, das ASP.NET AJAX-Framework, das Bestandteil von ASP.NET Version 3.5 ist, anstelle einer früheren Version des ASP.NET AJAX-Frameworks zu verwenden. |
Konfigurationstools
Das ASP.NET-Konfigurationssystem stellt Tools mit integrierter Fehlererkennung bereit, mit denen sich eine Anwendung leichter konfigurieren lässt als mit einem Text-Editor.
ASP.NET-MMC-Snap-In
Mit dem Microsoft Management Console (MMC)-Snap-In für ASP.NET können Sie die ASP.NET-Konfigurationseinstellungen eines lokalen Webservers oder Remotewebservers auf allen Ebenen komfortabel bearbeiten. Das ASP.NET-MMC-Snap-In verwendet die ASP.NET-Konfigurations-API, und dank einer grafischen Benutzeroberfläche (GUI) wird das Bearbeiten der Konfigurationseinstellungen vereinfacht. Zusätzlich unterstützt das Tool Features der ASP.NET-Konfigurations-API, die festlegen, ob Einstellungen von den Webanwendungen geerbt werden können, sowie Features für die Verwaltung der Abhängigkeiten zwischen den verschiedenen Ebenen der Konfigurationshierarchie.
Hinweis: |
---|
Um das ASP.NET-MMC-Snap-In zu verwenden, müssen Sie sich am Computer mit einem Konto anmelden, das über Administratorrechte verfügt. |
Das ASP.NET-MMC-Snap-In wird als Registerkarte ASP.NET auf dem Eigenschaftenblatt eines virtuellen Verzeichnisses angezeigt.
Weitere Informationen hierzu finden Sie unter MMC-Snap-In für ASP.NET.
Websiteverwaltungs-Tool
Mit dem Websiteverwaltungs-Tool kann jeder Benutzer, der für eine Website Administratorrechte besitzt, die Konfigurationseinstellungen für diese Website verwalten. Das Websiteverwaltungs-Tool ist ein benutzerfreundliches Bearbeitungstool mit grafischer Benutzeroberfläche zum Bearbeiten der Konfigurationseinstellungen, die in einzelnen Websites am häufigsten verwendet werden. Aufgrund der browserbasierten Schnittstelle können Sie die Websiteeinstellungen auch über eine Remoteverbindung ändern. Diese Funktion ist nützlich, wenn Sie eine Site verwalten möchten, die bereits auf einem Produktionswebserver bereitgestellt wurde, z. B. eine gehostete Website.
Zwischen dem Websiteverwaltungs-Tool und dem ASP.NET-MMC-Snap-In gibt es mehrere Unterschiede. Beispielsweise ist das ASP.NET-MMC-Snap-In ideal für die Konfiguration auf Administratorebene, da es den Zugriff auf die gesamte Hierarchie der Konfigurationsdateien auf dem Webserver ermöglicht, und nicht nur auf die Konfigurationseinstellungen einer einzelnen Website. Darüber hinaus benötigen Sie zum Verwenden von ASP.NET-MMC-Snap-In Administratorrechte, während mit dem Websiteverwaltungs-Tool nur die Websitebesitzer die Datei Web.config im Stammverzeichnis der Sites konfigurieren können, für die sie über Administratorrechte verfügen. Außerdem können Sie mit dem ASP.NET-MMC-Snap-In Internetinformationsdienste nicht über eine Remoteverbindung verwalten. Im Gegensatz dazu ermöglicht die Browserschnittstelle für das Websiteverwaltungs-Tool die Remotekonfiguration von IIS ab Version 6.0.
Das Websiteverwaltungs-Tool enthält eine Benutzeroberfläche im Registerkartenformat, wo zusammengehörige Konfigurationseinstellungen auf den folgenden Registerkarten gruppiert sind:
Die Registerkarte Sicherheit enthält Einstellungen zum Sichern von Webanwendungsressourcen und zum Verwalten von Benutzerkonten und Rollen.
Die Registerkarte Profil enthält Einstellungen zum Verwalten, wie Besucherinformationen von der Website erfasst werden.
Die Registerkarte Anwendung enthält Einstellungen zum Verwalten von Konfigurationselementen, die ASP.NET-Anwendungen betreffen.
Die Registerkarte Anbieter enthält Einstellungen zum Hinzufügen, Bearbeiten, Löschen, Testen oder Zuweisen von Anwendungsanbietern.
Das Websiteverwaltungs-Tool wird automatisch mit .NET Framework 2.0 und höher installiert. Weitere Informationen über die Funktionsweise des Tools finden Sie unter ASP.NET-Websiteverwaltungs-Tool.
Befehlszeilentools
Zu .NET Framework gehören Befehlszeilentools, die bestimmte Konfigurationsoperationen ausführen. Zum Beispiel können Sie mit dem Tool Aspnet_regiis.exe angeben, welche Version von NET Framework für die ASP.NET-Anwendung verwendet werden soll. Weitere Informationen finden Sie unter .NET Framework-Tools.
ASP.NET-Konfigurations-API
Das ASP.NET-Konfigurationssystem stellt eine vollständig verwaltete Schnittstelle bereit, mit der Sie ASP.NET-Anwendungen programmgesteuert konfigurieren können, ohne die XML-Konfigurationsdateien direkt zu bearbeiten. Weitere Vorteile der ASP.NET-Konfigurations-API sind:
Vereinfachung von Verwaltungsaufgaben durch Bereitstellen einer einheitlichen Übersicht für Daten aus allen Ebenen der Konfigurationshierarchie.
Unterstützung von Bereitstellungsaufgaben, einschließlich dem Erstellen von Konfigurationen und dem Konfigurieren mehrerer Computer mit einem Skript.
Bereitstellung einer gemeinsamen Programmierschnittstelle für Entwickler von ASP.NET-Anwendungen, Konsolenanwendungen, Skripts, webbasierten Verwaltungstools und MMC-Snap-Ins.
Entwickler und Administratoren werden daran gehindert, ungültige Konfigurationseinstellungen vorzunehmen.
Erweiterung des Konfigurationsschemas möglich. Sie können neue Konfigurationsparameter definieren und Handler für Konfigurationsabschnitte programmieren, um diese Parameter zu verarbeiten.
Bereitstellung von statischen Methoden zum Abrufen der Konfigurationsinformationen für die derzeit aktive Anwendung, aber auch von nicht statischen Methoden zum Abrufen der Konfigurationsinformationen für eine separate Anwendung. Mit statischen Methoden wird eine Anwendung zwar schneller ausgeführt, jedoch können diese Methoden nur aus der jeweiligen Anwendung heraus verwendet werden, für die Sie die Konfigurationsdaten abrufen.
Weitere Informationen finden Sie unter ASP.NET-Konfigurations-API.
Konfigurationssicherheit
Das ASP.NET-Konfigurationssystem schützt Konfigurationsdateien vor dem Zugriff unbefugter Benutzer. ASP.NET konfiguriert IIS so, dass jedem Browser der Zugriff auf die Dateien Machine.config und Web.config verweigert wird. Jede direkte Anforderung einer Konfigurationsdatei durch einen Browser gibt die Fehlermeldung HTTP-Zugriffsfehler 403 (Unzulässig) an den Browser zurück.
Zusätzlich werden die Konfigurationsdateien in einer ASP.NET-Anwendung daran gehindert, auf die Konfigurationseinstellungen in anderen ASP.NET-Anwendungen zuzugreifen, solange die Konfigurationsanwendung nicht mit voller Vertrauenswürdigkeit und unter einem Konto ausgeführt wird, das die Berechtigung zum Lesen der Konfigurationsdatei in der anderen Anwendung hat.
Weitere Informationen finden Sie unter Absichern der ASP.NET-Konfiguration und Verschlüsseln von Konfigurationsinformationen mithilfe der geschützten Konfiguration.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Konfigurieren von ASP.NET-Anwendungen in IIS 6.0 mit MMC
Exemplarische Vorgehensweise: Konfigurieren von ASP.NET-Anwendungen in IIS 7.0
Konzepte
ASP.NET-Konfigurationsdateihierarchie und Vererbung
Absichern der ASP.NET-Konfiguration
Weitere Ressourcen
ASP.NET-Websiteverwaltungs-Tool
ASP.NET-Konfigurationseinstellungen
Allgemeine Konfigurationseinstellungen (ASP.NET)
Verschlüsseln von Konfigurationsinformationen mithilfe der geschützten Konfiguration