6

カスタム httpmodule を介して実行されるように、従来の ASP ページの要求を .net で処理するようにマップしようとしています。

IIS では、asp リクエストを aspnet_isapi.dll に再マップしました。これを少し正しく行ったと確信しています。

今、私のテストアプリでこのエラーが発生しています:

Server Error in '/TestASPRedirect' Application.
--------------------------------------------------------------------------------

This type of page is not served. 
Description: The type of page you have requested is not served because it has been explicitly forbidden.  The extension '.asp' may be incorrect.   Please review the URL below and make sure that it is spelled correctly. 

Requested URL: /testaspredirect/test.asp

このエラーをオンラインで検索すると、cassini で問題を抱えている人がたくさんいますが、これは実際には関係ありません。XP 開発マシンの IIS 5.1 でこれをテストしており、IIS6 でも同じエラーが発生することをテストしています。

httphandler を追加および登録するための指示に従いました ( http://support.microsoft.com/default.aspx?scid=kb;en-us;Q308001を参照)。しかし、ProcessRequest ルーチンに何を入れればよいかわかりません。リクエストが確実に渡されるようにします。デフォルトの .net httphandler は何ですか? web.config でこれにマップできますか?: 次のようなものです:

<httpHandlers>
     <add verb="*" path="*.asp" type="standard.nethttphandler"/>
</httpHandlers>

ASP 要求をブロックせずに渡す必要があることを asp.net に伝えるにはどうすればよいですか?

4

3 に答える 3

3

実際、あなたは成功まであと一歩です。次のセクションをローカル Web サイト (または仮想ディレクトリ) の web.config ファイルに追加します。

<configuration>
...
<system.web>
    <compilation>
        <buildProviders>
            <add extension=".asp" type="System.Web.Compilation.PageBuildProvider"/>
        </buildProviders>
    </compilation>
    <httpHandlers>
        <add path="*.asp" verb="*" type="System.Web.UI.PageHandlerFactory" validate="true"/>
    </httpHandlers>
</system.web>

于 2009-11-14T01:06:24.780 に答える
2

.asp拡張子が にマッピングされているようHttpForbiddenHandlerです。

ASP.NET 1.1 を使用している場合は、次のファイルを開きます。

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config

ASP.NET 2.0 を使用している場合は、次のファイルを開きます。

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config

「 」を検索しpath="*.asp"、その行をコメントアウトします。次のようなものが好きです:

<!-- machine.config/ASP.NET 1.1-->
<add path="*.asp" verb="*" 
     type="System.Web.HttpForbiddenHandler"/>`

<!-- web.config/ASP.NET 2.0-->
<add path="*.asp" verb="*" 
     type="System.Web.HttpForbiddenHandler" validate="true"/>`
于 2009-10-15T18:42:32.960 に答える
0

以下のファイルを見つけます。

C:\WINDOWS\MICROSOFT.NET\FRAMEWORK\<FramworkVersion>\Config\web.config

<FramworkVersion>フォルダ名はどこですか:

XMLエディターで開きます..(メモ帳でも構いません)

行の下に追加します:

<add path="*.asp" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True"/>

以下の XPath の下:

configuration/system.web/httpHandlers

既存のものを交換してください!

以下の行を追加します。

<add extension=".asp" type="System.Web.Compilation.PageBuildProvider"/>

以下の XPath の下:

/configuration/system.web/compilation/buildProviders

私にとって宝石のように働きました:)

于 2013-01-30T14:20:10.037 に答える