只有在我部署(不在iis express上的开发模式下)时,我才会在webAPI和MVC路由之间出现路由冲突。 MVC路由是我想要的路由,但是我没有看到WebAPI路由是如何可行的。我的下面的代码是我在WebAPIConfig中的代码,对我而言,这意味着那里没有/ Home路由。
我刚刚更新到MVC5和最新的WebAPI。我以前没有这个问题。
public static void Register(HttpConfiguration config)
{
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new IsoDateTimeConverter());
config.Routes.MapHttpRoute
("API Default", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
config.Routes.MapHttpRoute
("API Default Rest", "rest/{controller}/{urlPart}",
new
{
urlPart = RouteParameter.Optional
});
config.Routes.MapHttpRoute
("API Default RPC", "rpc/{controller}/{action}/{urlPart}",
new
{
urlPart = RouteParameter.Optional
});
ERROR:
发现多个类型与名为“Home”的控制器匹配。如果为此请求提供服务的路由('{controller} / {action} / {id}')未指定名称空间来搜索与请求匹配的控制器,则会发生这种情况。如果是这种情况,请通过调用带有'namespaces'参数的'MapRoute'方法的重载来注册此路由。对'Home'的请求找到了以下匹配的控制器:WebAPI.Controllers.HomeController WebApplication3.Controllers.HomeController
'Home'的请求找到了以下匹配的控制器: WebAPI.Controllers.HomeController WebApplication3.Controllers.HomeController