
ASP.NET Core获取请求完整的Url
发布日期:2021-05-08 23:18:17
浏览次数:24
分类:原创文章
本文共 1107 字,大约阅读时间需要 3 分钟。
在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地址了,需要我们自己把命名空间下类名为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();}