Fehler bei der Verwendung von Server.Transfer oder Server.Execute in ASP.NET-Seiten: Ausführen einer Child-Anfrage

Dieser Artikel hilft Ihnen, das Problem zu lösen, dass ein Fehler (Ausführen einer untergeordneten Anforderung) auftritt, wenn Sie die Kontrolle von einer ASP.NET-Seite an eine Active Server Pages (ASP)-Seite in Internet Information Services (IIS) übertragen.

              Originale Produktversion: ASP.NET
Ursprüngliche KB-Nummer: 320439

Problembeschreibung

Wenn Sie versuchen, die Methode Server.Transfer oder Server.Execute in Ihrer ASP.NET-Seite zu verwenden, um die Steuerung von einer ASP.NET-Seite an eine ASP-Seite zu übertragen, wird möglicherweise die folgende Fehlermeldung angezeigt:

Fehler beim Ausführen einer untergeordneten Anforderung für PageName.asp.

Der Seitenname.asp in der Fehlermeldung ist der Name Ihrer ASP-Seite.

Ursache

IIS leitet die Server.Transfer- oder die Server.Execute-Anforderung an die entsprechende ISAPI-Erweiterung (Internet Server Application Programming Interface) weiter, die sich nach der Erweiterung der anfordernden Datei richtet. Zum Beispiel wird eine Anfrage für eine .aspx-Seite an die ISAPI-Erweiterung Aspnet_isapi.dll weitergeleitet.

Nachdem die Anfrage an die entsprechende ISAPI-Erweiterung weitergeleitet wurde, kann die ISAPI-Erweiterung keine andere ISAPI-Erweiterung aufrufen. Sie erhalten die Fehlermeldung, die im Abschnitt Symptome aufgeführt ist, weil die Datei Aspnet_isapi.dll, die Anforderungen an ASP.NET-Seiten bearbeitet, die Anforderung nicht an die Datei Asp.dll weiterleiten kann, die Anforderungen an ASP-Seiten bearbeitet.

Lösung

Um dieses Problem zu lösen, verwenden Sie die Methode Response.Redirect, um die Anfrage von einer ASP.NET-Seite auf eine ASP-Seite umzuleiten.

Status

Es handelt sich hierbei um ein beabsichtigtes Verhalten.