在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(); }