ASP.NET Core获取请求完整的Url
在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(); }
作者名称:追逐时光者
作者简介:一个热爱编程、善于分享、喜欢学习、探索、尝试新事物和新技术的全栈软件工程师。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如果该篇文章对您有帮助的话,可以点一下右下角的【♥推荐♥】,希望能够持续的为大家带来好的技术文章,文中可能存在描述不正确的地方,欢迎指正或补充,不胜感激。