Konfigurieren einer ASP.NET-Anwendung für eine ASP.NET-Version

Wenn .NET Framework auf einem Computer mit einer bereits vorhandenen Installation installiert wird, werden in der Standardeinstellung alle ASP.NET-Anwendungen automatisch für die Verwendung dieser Version von .NET Framework aktualisiert. Die einzigen Ausnahmen stellen Anwendungen dar, die an eine inkompatible Version der Laufzeit oder an eine neuere Laufzeitversion gebunden sind. Obwohl neuere Versionen von .NET Framework abwärtskompatibel gestaltet werden, kann es zuweilen erforderlich sein, eine ASP.NET-Anwendung für die Verwendung einer früheren Version zu konfigurieren. In den folgenden Abschnitten wird beschrieben, wie eine ASP.NET-Anwendung für eine spezielle Version von .NET Framework konfiguriert wird.

Anzeigen der Skriptzuordnung für eine ASP.NET-Anwendung

Beim Verwalten eines Computers mit mehreren installierten Versionen von .NET Framework ist es häufig erforderlich, die Skriptzuordnung einer ASP.NET-Anwendung anzeigen zu lassen, um die von der Anwendung verwendete Version zu ermitteln. Die Skriptzuordnung für eine ASP.NET-Anwendung kann mit Hilfe der Managementkonsole der Internet-Informationsdienste angezeigt werden.

So zeigen Sie die Skriptzuordnung für eine ASP.NET-Anwendung an

  1. Öffnen Sie die IIS-Managementkonsole, erweitern Sie den Knoten für den lokalen Computer durch Klicken auf das Pluszeichen, und navigieren Sie zu dem Ordner, der die ASP.NET-Anwendung enthält.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner, und wählen Sie Eigenschaften aus. Das Dialogfeld Eigenschaften der Anwendung wird angezeigt.

  3. Klicken Sie auf der Registerkarte Verzeichnis auf die Schaltfläche Konfiguration. Das Dialogfeld Anwendungskonfiguration wird angezeigt.

  4. Wählen Sie auf der Registerkarte Zuordnungen eine ASP.NET-Anwendungserweiterung aus, z. B. .asmx oder .aspx.

    Die Spalte Pfad für ausführbare Datei im Dialogfeld gibt den Pfad zu der ASP.NET ISAPI-Version an, die von der Anwendung verwendet wird. In der Standardeinstellung wird die ASP.NET ISAPI an folgendem Speicherort installiert:

systemroot\Microsoft.NET\Framework\Versionsnummer

Die im Pfad angezeigte Versionsnummer gibt die Versionsnummer der ASP.NET ISAPI an, die von der Anwendung verwendet wird. Die ASP.NET ISAPI-Version bestimmt, welche Version der Laufzeit von der Anwendung verwendet wird.

Aktualisieren von Skriptzuordnungen mit Hilfe von "Aspnet_regiis.exe"

Zum einfacheren Neukonfigurieren der Skriptzuordnung für eine ASP.NET-Anwendung verfügt jede Installation von .NET Framework über eine zugeordnete Version des ASP.NET IIS-Registrierungstools (Aspnet_regiis.exe). Administratoren können mit diesem Tool eine ASP.NET-Anwendung neu der mit dem Tool verbundenen ASP.NET ISAPI-Version zuordnen.

Hinweis   Da Aspnet_regiis.exe mit einer bestimmten Version von .NET Framework verbunden ist, müssen Administratoren die entsprechende Version von Aspnet_regiis.exe verwenden, um die Skriptzuordnung für eine ASP.NET-Anwendung neu zu konfigurieren. Aspnet_regiis.exe konfiguriert nur die Skriptzuordnung einer ASP.NET-Anwendung zu der mit diesem Tool verbundenen ASP.NET ISAPI-Version neu.

Das Tool kann auch zum Anzeigen des Status aller installierten ASP.NET-Versionen, zum Registrieren der zugehörigen Version von ASP.NET, zum Erstellen von Clientskriptverzeichnissen und zum Ausführen von anderen Konfigurationsvorgängen verwendet werden.

So aktualisieren Sie mit "Aspnet_regiis.exe" eine Skriptzuordnung für eine ASP.NET-Anwendung

  1. Öffnen Sie ein Befehlsfenster. (Klicken Sie auf Start und anschließend auf Ausführen, geben Sie cmd ein, und klicken Sie dann auf OK.)

  2. Wechseln Sie zum Verzeichnis der Aspnet_regiis.exe-Version, die Sie verwenden möchten. Beachten Sie, dass jede Version von .NET Framework mit einer eigenen Version des Tools ausgeliefert wird. Die Datei befindet sich i. d. R. in folgendem Verzeichnis:

systemroot\Microsoft.NET\Framework\Versionsnummer

  1. Richten Sie die Skriptzuordnungen ein, indem Sie die Optionen -s oder -sn von Aspnet_regiis.exe gemeinsam mit dem Pfad der Anwendung verwenden. Im folgenden Beispiel ist eine Befehlszeile dargestellt, die die Skriptzuordnungen für eine Anwendung mit der Bezeichnung SampleApp1 aktualisiert.

    Aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1
    

Anwendungspooling in IIS 6.0

Bei den IIS-Versionen vor IIS 6.0 wird das ASP.NET-Prozessmodell (Aspnet_wp.exe) verwendet. Beim ASP.NET-Prozessmodell wird jede eindeutige Anwendungsversion zur Laufzeit automatisch in einem eigenen Prozess ausgeführt. Alle Anwendungen, die auf dieselbe Version der Laufzeit ausgerichtet sind, verwenden denselben Prozess (oder dieselben Prozesse im Webgartenmodus). Bei IIS 6.0 wird jedoch das IIS 6.0-Prozessmodell (w3wp.exe) verwendet sowie ein neues Isolationsfeature eingeführt, das als Anwendungspooling bezeichnet wird. Das Anwendungspooling ermöglicht ein gemeinsames Ausführen von Anwendungen in einem oder mehreren Prozessen, solange diese dieselbe Poolbezeichnung verwenden. Anwendungen, denen verschiedene Anwendungspools zugeordnet wurden, werden nie in demselben Prozess ausgeführt.

Wenn mehrere Versionen von .NET Framework auf einem Computer mit IIS 6.0 installiert sind, wird möglicherweise folgende Fehlermeldung im Ereignisprotokoll der Anwendung angezeigt:

Es können keine verschiedenen Versionen von ASP.NET im gleichen IIS-Prozess ausgeführt werden. Konfigurieren Sie den Server mit dem IIS-Verwaltungstool neu, um die Anwendung in einem separaten Prozess auszuführen.

Dieser Fehler tritt auf, wenn mehrere Versionen von ASP.NET für die Ausführung in demselben Prozess konfiguriert sind. Verschiedene Versionen von .NET Framework und Laufzeit können nicht parallel in demselben Prozess vorhanden sein. Daher darf eine ASP.NET-Anwendung, die eine bestimmte Version der Laufzeit verwendet, keinen Prozess gemeinsam mit einer Anwendung einer anderen Version verwenden. Dieser Fehler tritt i. d. R. auf, wenn mindestens zwei Anwendungen verschiedenen Versionen von ASP.NET zugeordnet wurden, sie jedoch über einen gemeinsamen Anwendungspool verfügen.

Wenn Sie das Anwendungspooling verwenden möchten, müssen Sie zunächst sicherstellen, dass der IIS 5.0-Isolationsmodus deaktiviert wurde. Wechseln Sie anschließend in der Managementkonsole der Internet-Informationsdienste zur gewünschten Anwendung, und ordnen Sie ihr einen Anwendungspool zu. Wenn Sie die Anwendung von den vorhandenen Anwendungspools isolieren möchten, können Sie eine neue Poolbezeichnung erstellen.

Hinweis   Die Prozessisolation für die jeweilige Anwendung wird manuell konfiguriert.

So deaktivieren Sie den IIS 5.0-Isolationsmodus in IIS 6.0

  1. Öffnen Sie die IIS-Managementkonsole, und erweitern Sie den Knoten für den lokalen Computer durch Klicken auf das Pluszeichen.
  2. Klicken Sie mit der rechten Maustaste auf den Ordner Websites, und wählen Sie Eigenschaften aus.
  3. Deaktivieren Sie auf der Registerkarte Dienst das Kontrollkästchen WWW-Dienst in IIS 5.0-Isolationsmodus ausführen.

So weisen Sie einer ASP.NET-Anwendung in IIS 6.0 eine Poolbezeichnung zu

  1. Öffnen Sie die IIS-Managementkonsole, erweitern Sie den Knoten für den lokalen Computer durch Klicken auf das Pluszeichen, und navigieren Sie zu dem Ordner, der die ASP.NET-Anwendung enthält.
  2. Klicken Sie mit der rechten Maustaste auf die Anwendung, und wählen Sie Eigenschaften aus. Das Dialogfeld für die Eigenschaften der Anwendung wird angezeigt.
  3. Wählen Sie auf der Registerkarte Verzeichnis in der Liste Anwendungspool die gewünschte Poolbezeichnung aus.

So erstellen Sie eine Poolbezeichnung in IIS 6.0

  1. Öffnen Sie die IIS-Managementkonsole, und erweitern Sie den Knoten für den lokalen Computer durch Klicken auf das Pluszeichen.
  2. Klicken Sie mit der rechten Maustaste auf den Ordner Anwendungspools, zeigen Sie auf Neu, und klicken Sie dann auf Anwendungspool. Das Dialogfeld Neuen Anwendungspool hinzufügen wird angezeigt.
  3. Geben Sie die neue Poolbezeichnung in das Textfeld Anwendungspool ein, und klicken Sie dann auf OK.

Siehe auch

ASP.NET-Unterstützung der parallelen Ausführung | Übersicht über die parallele Ausführung in ASP.NET