Подтвердить что ты не робот

Создание маршрута Url для управления контроллером MVC из WebAPI

Я использую для создания URL маршрутов для других действий контроллера в действии контроллера MVC, используя что-то похожее ниже:

public class ApplicationController : Controller
{
    public ActionResult Index( )
    {
        var url = Url.RouteUrl("routename",
           new { controller = "Application", Action = "Index2" , other="other" });
    }

    public ActionResult Index2( string other)
    {
    }
}

Но мне также нужно иметь возможность генерировать URL-адреса для действий контроллера MVC изнутри webapi, как бы я это сделал?

На APIController, похоже, есть свойство UrlHelper, но я не могу найти примеры того, как использовать это, и не смог сам понять.

ОБНОВЛЕНИЕ: Причина, по которой я пытаюсь создать URL-адрес, заключается в том, что этот конкретный метод webapi отправляет электронное письмо, которое предоставляет получателю ссылку, чтобы перенаправить пользователя обратно в соответствующий раздел сайта. Я, очевидно, хочу уйти от hardcoding, поскольку он не будет работать для разных развертываний, а также, если я начну менять маршрутизацию, эта ссылка будет нарушена. Есть ли лучший способ сделать это?

4b9b3361

Ответ 1

Вы также можете использовать имена маршрутов MVC с веб-API UrlHelper. Пример,

 Url.Link("Default", new { Controller = "Account", Action = "Login" });

или

 Url.Route("Default", new { Controller = "Account", Action = "Login" });