获取当前ASP.NET Web Api 2操作的Url
在ASP.NET Web API 2中,如何获取当前操作的Url。下面是一个示例获取当前ASP.NET Web Api 2操作的Url,asp.net,asp.net-web-api2,Asp.net,Asp.net Web Api2,在ASP.NET Web API 2中,如何获取当前操作的Url。下面是一个示例 [HttpGet] [Route("api/someAction")] public SomeResults GetAll() { var url = /* what to write here*/ .... } ApiController基类(必须从中派生您自己的控制器)的一个属性称为Request: //摘要: //定义API控制器的属性和方法。 公共抽象类ApiController:IH
[HttpGet]
[Route("api/someAction")]
public SomeResults GetAll()
{
var url = /* what to write here*/
....
}
ApiController
基类(必须从中派生您自己的控制器)的一个属性称为Request
:
//摘要:
//定义API控制器的属性和方法。
公共抽象类ApiController:IHttpController,IDisposable
{
// ...
//
//总结:
//获取或设置当前System.Web.Http.ApicController的HttpRequestMessage。
//
//返回:
//当前System.Web.Http.ApicController的HttpRequestMessage。
公共HttpRequestMessage请求{get;set;}
// ...
}
这使您可以访问具有以下方法的HttpRequestMessage
:
//
// Summary:
// Gets or sets the System.Uri used for the HTTP request.
//
// Returns:
// Returns System.Uri.The System.Uri used for the HTTP request.
public Uri RequestUri { get; set; }
使用Request.RequestUri
获取当前操作的URL。它将返回一个Uri
对象,让您可以访问请求Uri的每个部分
最后,您可能会发现以下问题非常有用:
Request.RequestUri.ToString()代码>
在MVC上,这可以是:
Request.Url.ToString()代码>
另见:
Request.Url.GetLeftPart(UriPartial.Authority);
及
两者都将返回,例如:
如果问题是关于Web API的,那么mLar在这个帖子中的回答对我来说很有吸引力。
看看这个:
Request.RequestUri.GetLeftPart(UriPartial.Authority);