Я хочу разместить WCF 4 и MVC 3 в моем проекте C # .Net. Но когда я добавляю сервисные пути для WCF, Html.ActionLink начинает создавать неправильный URL для приложения MVC. Моя таблица маршрутов создана как:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
RouteTable.Routes.Add(new ServiceRoute("api1/projects", new WebServiceHostFactory(), typeof(Projects)));
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Над таблицей маршрутов создаются правильные пути доступа к приложениям WCF и MVC, но Html.ActionLink
создает ссылки редактирования как
http://localhost:8000/api1/projects?action=Edit&controller=technology&id=2
вместо
http://localhost:8000/technology/Edit/2
Если я опускаю строку, начинающуюся с RouteTable.Routes.Add
, ActionLink
работает как положено (и, конечно, не WCF). Как я могу добавить маршруты WCF и убедиться, что поведение actionlink не меняется?