1

MVC4 / WebAPI で構築している Web サービスで非常に奇妙な問題に対処しました。

基本的に、'GetChildNodes' というメソッドが 1 つあります。このメソッドをリクエストすると、405: Method Not Allowed ステータス コードが返されます。これを「テスト」に名前を変更すると、機能します。名前を「GCN」に変更すると、機能します。名前を「GetChildNode」に変更すると、同じエラーが発生します。

私は確認して再確認しましたが、成功したか失敗したかを問わず、各試行は適切に要求されましたが、結果はさまざまでした. メソッド名がどのように違いを生むかについて、私は完全に途方に暮れています。再起動、再起動を試しましたが、違いはありません。

手がかりをいただければ幸いです。

それが役立つ場合、これは私がサービスを構成する方法です:

config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{action}");

かなり標準的だと思います。

4

2 に答える 2

1

うーん、それはプレフィックス「Get」でした。これは、アクションがGETリクエストから呼び出されたことをWebAPIに伝えているようです。'HttpPost' (System.Web.Http 内) 属性をメソッドに追加することで簡単に修正できます。

于 2012-08-25T13:12:22.200 に答える
0
[HttpGet]
[ActionName("GetChildNode")]
public ReturnValue GetChildNode()
于 2013-02-16T12:36:06.347 に答える