我想拥有BlaController : ApiController
,BlaController位于/ Areas / XXX /(或名称空间MySolution.Areas.XXX.Controllers
)
问题在于,当我浏览http://localhost:1935/XXX/Bla/SomeAction
时,我得到404
普通控制器(: Controller
)不会抛出404.
注意:SomeAction将是例如“公共字符串SomeAction(){return”hi“;}”,在BlaController中
*注意2:尝试* http://localhost:1935/api/Bla/SomeAction
并且无法正常工作
答案 0 :(得分:1)
基于此SO question,您需要构建自己的HttpControllerFactory
以支持具有WebAPI的区域。
该问题引用了一篇关于如何执行此操作的文章:http://netmvc.blogspot.com/2012/03/aspnet-mvc-4-webapi-support-areas-in.html
希望这有帮助。
<强>更新强> 感谢Bertrand指出了一篇关于WebApi支持区域的更新文章(默认情况下仍然没有)。更新后的链接为http://netmvc.blogspot.be/2012/06/aspnet-mvc-4-webapi-support-areas-in.html