Быстрый вопрос о маршрутах в MVC и WebAPI. Я добавил маршрут в route config.cs:
routes.MapRoute(
name: "ConfirmEmail",
url: "ConfirmEmail/{userid}",
defaults: new { controller = "Email", action = "ConfirmEmail" }
);
Это зарегистрировано в global.asax как обычно:
RouteConfig.RegisterRoutes(RouteTable.Routes);
Я пытаюсь создать URL-адрес для использования в электронном письме, которое отправляется как часть вызова функции в функции контроллера WebAPI. Я использую функцию UrlHelper.Link, чтобы попытаться сгенерировать URL-адрес, однако получаю сообщение об ошибке, в котором говорится, что маршрут не может быть найден по имени:
var url = Url.Link("ConfirmEmail", new { userid = "someUserId" });
Теперь у меня сложилось впечатление, что словари маршрутов были общими как в контекстах контроллера MVC, так и в WebAPI, однако я не вижу маршруты MVC в словаре маршрутов входящего вызова Web API (в объекте запроса), однако определенные мной маршруты WebAPI есть.
Я что-то упускаю?