asp.net-mvc - net - route web api 2 c#
Generación de URL de ruta a la acción de controlador MVC desde WebAPI (1)
Estoy acostumbrado a generar URL de ruta a otras acciones de controlador dentro de una acción de controlador MVC utilizando algo similar a lo siguiente:
public class ApplicationController : Controller
{
public ActionResult Index( )
{
var url = Url.RouteUrl("routename",
new { controller = "Application", Action = "Index2" , other="other" });
}
public ActionResult Index2( string other)
{
}
}
Pero también necesito poder generar URLs para las acciones del controlador MVC desde dentro de webapi. ¿Cómo voy a hacer esto?
Parece que hay una propiedad UrlHelper en el APIController, pero no puedo encontrar ningún ejemplo de cómo usar esto y no he podido resolverlo por mi cuenta.
ACTUALIZACIÓN: El motivo por el que intento generar una url es que este método webapi en particular envía un correo electrónico que proporciona al destinatario un enlace para dirigir al usuario a una sección apropiada del sitio. Obviamente, quiero alejarme de la codificación rígida, ya que no funcionará en diferentes implementaciones y, además, si comienzo a cambiar la ruta, se romperá este enlace. ¿Hay un mejor enfoque para hacer esto?
También puede usar nombres de rutas MVC con API web UrlHelper. Ejemplo,
Url.Link("Default", new { Controller = "Account", Action = "Login" });
o
Url.Route("Default", new { Controller = "Account", Action = "Login" });