我刚刚开始使用VS 2012 RC,并且创建了一个ASP.NET MVC 4 Web应用程序,我计划提供基于HTML的用户界面和基于WebApi的编程界面。我可以同时拥有Controller和ApiController吗?
对于我的HTML网站,我有一个控制器和每个模型(MVC!)的视图,并且路由按照惯例工作,例如,URL /client
连接到我的ClientController
。我的ClientController
派生自Controller
。
对于我的API,我将创建一个从ApiController
派生出新的控制器。我自然希望我的API网址与我的HTML网址相似,因此我希望客户信息在/api/client
处可用。但是,通过约定路由,这将暗示我需要一个名为ClientController
的ApiController。我已经有一个ClientController
类。
我该如何处理?我需要自定义路由吗?我是否将API类放在不同的命名空间中,以便我可以给它们命名?
更新:这个问题似乎表明,我的API控制器不同的命名空间是我所需要的:Mix web api controllers and site controllers
你看着[MVC区(http://msdn.microsoft.com/en-us/library/ee671793.aspx)? – gordonmleigh 2012-07-19 16:51:52
@gordonml:谢谢 - 我刚刚做了,它似乎是sotra,挺有用的。然而,我不禁感到,我需要实现的目标有点夸张。 – 2012-07-20 09:03:36
IsAjaxRequest是否适合您的需求? http://stackoverflow.com/questions/1681563/detecting-isajaxrequest-with-asp-net-mvc-and-jquery-form-plugin-file-upload – kenny 2012-07-22 14:04:40