专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

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

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:52:00       共计:3607 浏览

首先需要在控制器项目中使用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();

       }

   }

}




版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:.NET Core:处理全局异常 | ·下一条:asp.netcore mvc 权限拦截

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有