0

従来のASPリクエストを基本的なtext/htmlとして返すにはIIS7が必要です。これは、ajaxを介してページを要求する内部アプリケーション用です。ASPコードには、このプロジェクトの範囲を超えるエラーが含まれており、要求を防ぎます。アプリケーションで情報を処理できるように、ASPページのコンテンツを通常のHTMLであるかのように返したいだけです。

すべてのページの横にあるエラー履歴書に適用することを考えましたが、それには時間がかかりすぎます。ハンドラーマッピングを削除するか、プロパティによってマッピングを意図的に制限しようとしましたが、IIS7のセキュリティエラーメッセージが表示されます。

これがIIS6に対しても実行できる場合、それは素晴らしいことですが、必須ではありません。

更新私が達成しようとしていることのより良い例を提供するために:コントロールパネルのWindowsプログラムと機能からASPを完全にアンインストールし、.aspのMIMEを「text / html」として作成することで、プロジェクトを進めることができました。 。これは機能しますが、サーバー全体のASPがダウンするため、他のプロジェクトで作業している他の開発者がASPを再度有効にする必要がありました。サーバー全体の役割と責任ではなく、1つのサイトでこれを行う方法はありませんか?

考えられる回答このサイトの場合のみ、 aspDLL が「.aspdont」に応答するようにASPハンドラマッピングを更新しました。次に、.aspの独自のMIMEタイプを「text/html」として追加しました。少しずさんなようですが、私が作業しなければならないことを考えると、それが私の唯一の解決策かもしれません。

4

2 に答える 2

0

このASPの結果は動的だと思いますか?したがって、データベースクエリなどに基づいていますか?次に、エラーを修正するか、エラーを生成する部分をスキップする以外に選択肢はありません。ASPページが多数ある場合でも(ここでは少し誇張していると思います)、最初のページ(ajaxによって要求されたページ)から始める場合は、他のページへのすべての参照をコメントアウトするだけです。 ajax-callが必要とする結果を生成するために本当に必要なものを保持します。

より良いアドバイスを提供できるように、呼び出されたASPとそれにスローするajax呼び出しを公開してください。

于 2012-08-14T15:27:04.880 に答える
0

1つのサイトでClassicASPを無効にすることはできません。サーバーレベルでのみ、それを拒否またはアンインストールできます。考えられる回避策は2つあります。ClassicASPがインストールされていない新しいサーバーに移動するか、サイトレベルで、.aspのハンドラーを.aspdontなどの未使用の拡張子に再マップします。次に、どちらのソリューションでも、.aspのサイトレベルでtext/htmlとしてMIMEタイプを作成します。これで、ページは未処理のASPを返します。

于 2012-08-15T16:11:47.987 に答える