正如标题所示,我想扩展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的扩展方法,但如果可能的话,我想避免这种情况。
有什么想法吗?
答案 0 :(得分:3)
您可以使用[NonAction]
属性:
public class ExtendedApiController : ApiController {
[NonAction]
public string SomeHelper() {
....
}
}
答案 1 :(得分:1)
ASP NET WebAPI在配置之前使用约定,因此它尝试查找以Get...
开头的GET请求,Post...
开始POST请求等等的方法,用于PUT和DELETE。
所以也许有两种方法开始于Get...
,Post...
,Put...
或Delete...