1

そこで、ASP.NET 3.5 Web サイトであったアプリケーションを書き直しています。ASHX ハンドラーを含むフォルダーがあります。これらのハンドラーは、外部アプリによって呼び出される API です。私の解決策は、この API フォルダーを新しい MVC サイトの下で 3.5 アプリケーションとして実行することです。URL は同じままで、すべてがうまく機能します。

MVC アプリでは、web.config でフォーム認証を有効にしています。Global.asax.cs の API フォルダーを IgnoreRoute します。.NET 2.0 用の新しいアプリ プールを作成し、API フォルダーに作成された新しいアプリに割り当てました。

サーバーからハンドラーにアクセスすると、資格情報を指定しなかったため、カスタム エラーが発生します。私のマシンからハンドラーにアクセスすると、このディレクトリまたはページを表示する権限がありません。API フォルダーに default.aspx ページを作成すると、ページが表示されます。したがって、ハンドラー (ASHX) の問題です。

4

2 に答える 2

1

最終的に、.NET 3.5 をターゲットとする新しい Web サイト ソリューションを作成しましたが、Hello World を返すハンドラー Test.ashx は 1 つしかありませんでした。APIフォルダーに別のアプリプール(クラシックモード)を使用するようにIISを構成すると、機能しました。そのため、既存のハンドラーを追加したところ、機能しました。web.config ファイルの何かが問題を引き起こしていると推測しています。

于 2012-07-31T20:25:26.390 に答える
0

IIS の Web サイト -> Handler Mappings に移動してみてください。.ashx がマップされているかどうかを確認します。

于 2012-07-24T21:01:06.280 に答える