1

ASP.NETプロジェクトに存在しない特定のパスを処理するには、単純なHttpHandlerが必要です。sitefinity 4を使用しています。ハンドラーを作成しましたが、サイトを実行しようとすると、イライラするエラーが発生します。

The WebResource.axd handler must be registered in the configuration to process this request.

構成のsystem.web部分にハンドラーを配置していましたが、VS2010はWebサーバーに組み込まれているためIIS 6を使用しているように見えるので、先に進んでIIS 7(ローカル)を使用するように切り替え、ハンドラーの登録を移動しましたsystem.webServerにアクセスすると、存在しないURLにアクセスしたときに機能しますが、サイトに正常にアクセスしようとすると(有効なURL)、再びそのdangエラーが発生します。

一度は機能し、有効なURLで正しいサイトを取得しましたが、現在は問題が発生し続けています。

この問題を解決するにはどうすればよいですか?プロジェクトを作成したときに存在せず、ハンドラーを追加したときにのみ開始されたため、そのエントリを構成に追加したくありません。

編集:Path = "*"を使用した場合にのみ発生するので、ワイルドカードを使用するにはどうすればよいですか?ハンドラーをマップして404ページをキャッチしたくありません。

4

2 に答える 2

1

それをフロゲット。これを行う必要があるのは私だけではないことを私は知っていますが、誰も知らないようです。404が機能するようになりましたが、フォルダーではなくファイルを要求した場合にのみ、バストになります。

Global.asaxが統合モードでヒットすることがわかったので、コードをApplication_BeginRequest()に移動しただけで、正常に機能しています。他の誰かがより良い答えを持っているなら、私は彼らに信用を与えます。

于 2011-02-15T18:58:09.393 に答える
-2

iis7およびiis7.5の場合、ハンドラーはsystem.webserverに登録されます。system.webのhttphandlersとhttpmodulesは無視され、IIS6およびクラシックモードで使用されます。

これがお役に立てば幸いです。

于 2011-02-15T00:45:16.147 に答える