1

wcfを使用してRESTfulAPIを実装し、System.Web.Routing.RouteTable.Routes.Add(...)を使用してメソッドをURLにマップしました。ユーザーが無効なURL(つまり、メソッドにマップされないURL)を入力すると、myapiurl /get/ではなくmyapiurl/geeet /と入力すると、現在、「メソッドは許可されていません」などの標準エラーメッセージが表示されます。

このエラーメッセージをカスタマイズするにはどうすればよいですか?

Global.asaxでApplication_Errorを試しましたが、例外がキャッチされません。IErrorHandler、IServiceBehaviorも実装しましたが、このエラーもキャッチしません。私が実装したWebHttpBehaviorも同様です。

4

1 に答える 1

0

「メソッドは許可されていません」(HTTPステータスコード405)メッセージは、サーバーがサーバー(IIS)で許可されていないHTTPメソッド(GET、POST、PUTなど)を使用してクライアントから要求を受信して​​いることを意味します。たとえば、クライアントがPUT要求を送信していて、IISがPUTを受け入れるように構成されていない場合です。デフォルトでは、IISはGETとPOSTのみをサポートしていると思います。

質問で説明しているように、不正なURIを使用すると、通常、404リソースのHTTPステータスコードが見つかりません。ASP.NET層またはWCF層のどちらでも例外をトラップできないため、IIS構成が問題の原因になっている可能性があります。

于 2012-11-21T15:19:36.397 に答える