在ASP.NET項目中獲取請求完整的Url:
獲取System.Web命名空間下的類名為HttpRequestBase的Url方法:
/// <summary>在派生類中替代時,獲取有關當前請求的 URL 的信息。</summary> /// <returns>包含有關當前請求的 URL 的信息的對象。</returns> /// <exception cref="T:System.NotImplementedException"> /// 始終。 /// </exception> public virtual Uri Url { get { throw new NotImplementedException(); } }
在控制器中獲取:
//獲取完整的Url地址 string completeUrl = Request.Url.ToString();
在ASP.NET Core項目中獲取:
由於.NET Core相關接口重構,現在無法在項目中直接獲取當前請求的完整的Url地址了,需要我們自己把Microsoft.AspNetCore.Http命名空間下類名為HttpRequest的相關方法拼接獲取,如下所示。
public IActionResult Privacy() { //獲取當前請求完整的Url地址 var GetCompleteUrlStr=GetCompleteUrl(); return View(); } /// <summary> /// 獲取當前請求完整的Url地址 /// </summary> /// <returns></returns> private string GetCompleteUrl() { return new StringBuilder() .Append(HttpContext.Request.Scheme) .Append("://") .Append(HttpContext.Request.Host) .Append(HttpContext.Request.PathBase) .Append(HttpContext.Request.Path) .Append(HttpContext.Request.QueryString) .ToString(); }