Поведение ActionLink с ASP.NET WCF и Routes.Add в приложении MVC - PullRequest
1 голос
/ 17 ноября 2011

Я хочу разместить 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 не меняется?

1 Ответ

1 голос
/ 17 ноября 2011

Попробуйте поставить ServiceRoute регистрацию после MapRoute.

...