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

    作者:追逐时光者

    作者简介:一个热爱编程,善于分享,喜欢学习、探索、尝试新事物,新技术的程序猿。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得时光这篇文章有帮助的话,可以点一下右下角的【♥推荐♥】,希望能够持续的为大家带来好的技术文章,文中可能存在描述不正确或错误的地方,欢迎指正、补充,不胜感激 !

  • 相关阅读:
    在地址栏里输入一个地址回车会发生哪些事情
    ROS librviz库
    jumpserver运行源码
    django源码剖析(steup、runserver、生命周期)
    QT在linux下编译出现Unable to create a debugging engine错误的解决
    node 服务启动
    查看端口占用
    自定义reducer,pipe,compose函数 码农
    talk 码农
    实现简版redux和中件间 码农
  • 原文地址:https://www.cnblogs.com/Can-daydayup/p/14427040.html
Copyright © 2020-2023  润新知