zoukankan      html  css  js  c++  java
  • asp.net core获取当前请求的完整url

    asp.net core获取当前请求的完整url

    首先需要在控制器项目中使用NuGet引入 Microsoft.AspNetCore.Http.Abstractions包。

    然后有两种获取当前URL的方式。

    方法1,在控制器里面,string displayUrl = HttpContext.Request.GetDisplayUrl();

    方法2,定义一个HttpRequest的扩展类。

    using Microsoft.AspNetCore.Http.Extensions;
    
    namespace demo1.tools
    {
        public static class HttpRequestExtensions
        {
            public static string GetAbsoluteUri(this HttpRequest request)
            {
                return new StringBuilder()
                    .Append(request.Scheme)
                    .Append("://")
                    .Append(request.Host)
                    .Append(request.PathBase)
                    .Append(request.Path)
                    .Append(request.QueryString)
                    .ToString();
            }
        }
    }

    调用方式:

    方法1,直接调用 Request.GetDisplayUrl()方法。
    string displayUrl = HttpContext.Request.GetDisplayUrl();
    方法2 调用扩展方法
    string requestUrl = HttpRequestExtensions.GetAbsoluteUri(HttpContext.Request);

    using demo1.tools;
    using Microsoft.AspNetCore.Http.Extensions;
    
    namespace demo1.xTwoMvc.Controllers
    {
        public class HomeController : Controller
        {
            public IActionResult Index()
            {
                //方法1 直接调用Request.GetDisplayUrl()方法
                string displayUrl = HttpContext.Request.GetDisplayUrl();  
                //方法2 调用扩展方法
                string requestUrl = HttpRequestExtensions.GetAbsoluteUri(HttpContext.Request);
                base.ViewData["displayUrl"] = displayUrl;
                base.ViewData["requestUrl"] = requestUrl; 
                return View();
            }
        }
    }


  • 相关阅读:
    oralce的function处理考勤时间节点以及计算工作时间
    如何把虚拟机上的文本或是文件复制粘贴到本地?
    Sqlserver语句对表结构的操作
    ubuntu下提示/boot空间不足,解决办法
    原码、反码和补码
    C++中四种类型转换方式
    C语言之 短路原则
    ubuntu下为opera26.0安装flash
    C++函数重载
    C++内联函数
  • 原文地址:https://www.cnblogs.com/yyee/p/12825802.html
Copyright © 2011-2022 走看看