次の方法で共有


ASP.NET ページで Server.Transfer または Server.Execute を使用すると「子の要求を実行中にエラーが発生しました」エラーが発生する

この記事は、ASP.NET ページからインターネット インフォメーション サービス (IIS) の Active Server Page (ASP) ページにコントロールを転送したときにエラー (子の要求の実行) が発生するという問題の解決に役立ちます。

元の製品バージョン: ASP.NET
元の KB 番号: 320439

現象

ASP.NET ページで Server.Transfer または Server.Execute メソッドを使用して、ASP.NET ページから ASP ページに制御を転送しようとすると、次のエラー メッセージが表示される場合があります。

PageName.asp の子の要求を実行中にエラーが発生しました。

エラー メッセージの PageName.asp は、ASP ページの名前です。

原因

IIS は、要求ファイルの拡張子に基づいて、Server.Transfer または Server.Execute 要求を適切なインターネット サーバー アプリケーション プログラミング インターフェイス (ISAPI) 拡張子にディスパッチします。 たとえば、.aspx ページの要求は、Aspnet_isapi.dll ISAPI 拡張子にディスパッチされます。

要求が適切な ISAPI 拡張子にディスパッチされた後、ISAPI 拡張子は別の ISAPI 拡張子を呼び出すことができません。 ASP.NET ページへの要求を処理するAspnet_isapi.dll ファイルは、ASP ページへの要求を処理するAsp.dll ファイルに要求を転送できないため、Symptoms セクションに一覧表示されているエラー メッセージが表示されます。

解決方法

この問題を解決するには、Response.Redirect メソッドを使用して、要求を ASP.NET ページから ASP ページにリダイレクトします。

状態

この動作は設計によるものです。