significa que poner obtener friendly empresa ejemplos dirección cambiar acortar url asp.net-web-api base-url asp.net-web-api2

poner - que significa dirección url de linkedin



¿Cómo obtener una URL base en el controlador de la API web? (13)

Al WebApi 2, simplemente llamando a HttpContext.Current.Request.Path;

Sé que puedo usar Url.Link() para obtener la URL de una ruta específica, pero ¿cómo puedo obtener la URL base de la API web en el controlador de la API web?


Basándome en la respuesta de Athadu, escribo un método de extenesión, luego en la clase de controlador puede obtener la url raíz con this.RootUrl();

public static class ControllerHelper { public static string RootUrl(this ApiController controller) { return controller.Url.Content("~/"); } }


De HttpRequestMessage

request.Headers.Host



Esto es lo que uso:

Uri baseUri = new Uri(Request.RequestUri.AbsoluteUri.Replace(Request.RequestUri.PathAndQuery, String.Empty));

Luego, cuando lo combino con otra ruta relativa , uso lo siguiente:

string resourceRelative = "~/images/myImage.jpg"; Uri resourceFullPath = new Uri(baseUri, VirtualPathUtility.ToAbsolute(resourceRelative));


Inyecto este servicio en mis controladores.

public class LinkFactory : ILinkFactory { private readonly HttpRequestMessage _requestMessage; private readonly string _virtualPathRoot; public LinkFactory(HttpRequestMessage requestMessage) { _requestMessage = requestMessage; var configuration = _requestMessage.Properties[HttpPropertyKeys.HttpConfigurationKey] as HttpConfiguration; _virtualPathRoot = configuration.VirtualPathRoot; if (!_virtualPathRoot.EndsWith("/")) { _virtualPathRoot += "/"; } } public Uri ResolveApplicationUri(Uri relativeUri) { return new Uri(new Uri(new Uri(_requestMessage.RequestUri.GetLeftPart(UriPartial.Authority)), _virtualPathRoot), relativeUri); } }


No estoy seguro de si esto es una adición de Web API 2, pero RequestContext tiene una propiedad Url que es un UrlHelper : HttpRequestContext Properties . Tiene métodos de Link y Content . Detalles here


Primero obtienes la URL completa usando HttpContext.Current.Request.Url.ToString(); luego reemplace su URL de método usando Reemplazar ("usuario / inicio de sesión", "").

El código completo será

string host = HttpContext.Current.Request.Url.ToString().Replace("user/login", "")


Puede usar la propiedad VirtualPathRoot desde HttpRequestContext ( request.GetRequestContext().VirtualPathRoot )



envíe un GET a una página y el contenido contestado será la URL de respuesta. Base: http://website/api/


Url.Content("~/")

¡trabajó para mi!


new Uri(Request.RequestUri, RequestContext.VirtualPathRoot)