指定一组用于查找API控制器的优先级命名空间?

时间:2016-02-15 22:38:15

标签: routes asp.net-web-api2 .net-4.5

事实:当前的VS.2015模板,授权实现在WebAPI项目和MVC项目之间有很大差异。 事实:我的项目同时包含MVC和WebAPI 2.0组件 要求: WebAPI和MVC控制器的Identity 2.0授权 愿望:我希望两个控制器都被命名为Account,但是在Controllers命名空间中有一个,另一个在Controllers.Api中,因此避免重命名其中一个控制器。

知道并且显然唯一的方法是将身份/授权实现合并到一个项目中,这意味着我需要两个帐户控制器和两组与帐户相关的模型。

在MVC MapRoute(RouteConfig.cs)中,可以指定MVC控制器的名称空间。但由于我将有两个帐户控制器(一个用于API,另一个用于MVC),我计划将API帐户控制器放在MyNamespace.Controllers.Api中,并将MVC保留在MyNamespace.Controllers上。但是在WebApiConfig.cs文件中,HttpRoute方法似乎没有参数来配置命名空间,这意味着它会找到在MVC中使用的AccountController而不是它所需的那个.Api子命名空间。

有没有办法告诉WebAPI路由在Controllers.Api命名空间而不是Controllers命名空间中查找其控制器?

正如我所说,除非绝对必要,否则我不想重命名其中一个控制器。

0 个答案:

没有答案