1

タイトルが示すように、ApiContollerクラスを拡張して、いくつかのカスタムプロパティとヘルパーメソッドを含めたいのですが、コントローラーに使用しようとすると、次のメッセージが表示されます。Multiple actions were found that match the request:

サンプルコード:

public class ExtendedApiController : ApiController {
    public string SomeHelper() {
    ....
    }
}

public class AccountController : ExtendedApiContoller {
    public void Post (ModelObject obj){
        string x = SomeHelper();
        ...Bunch of business logic
    }
}

Web Apiは、何らかの理由でこれを行うことを嫌うようです。または、オーバーライドする必要のある他の基本メソッドがあります。私が見ることができる他の唯一のオプションは、ApiContollerへの拡張メソッドに取り組むことですが、可能であればそれを避けたいと思います。

何か案は?

4

2 に答える 2

4

[NonAction]次の属性を使用できます。

public class ExtendedApiController : ApiController {

   [NonAction] 
   public string SomeHelper() {
    ....
    }

}

詳細については、ページの下部にあります

于 2013-02-21T13:10:03.583 に答える
1

Get...ASP NET WebAPIは、構成前に規則を使用するため、GET要求、Post...POST要求など、PUTおよびDELETEで始まるメソッドを見つけようとします。

したがって、、、、またはGet...で始まる2つのメソッドがあるかもしれませんPost...Put...Delete...

于 2013-02-21T12:21:33.237 に答える