首页 新闻 会员 周边

Request.RawUrl在ASP.NET Core中的对应实现是什么?

0
悬赏园豆:30 [已解决问题] 解决于 2018-02-21 18:30

比如 https://q.cnblogs.com/list/unsolved?page=3 这个url,在传统 asp.net 中 Request.RawUrl 的值是 /list/unsolved?page=3 ,请问在 asp.net core 中如何获取这样的 url ?

dudu的主页 dudu | 高人七级 | 园豆:30994
提问于:2018-01-23 12:55
< >
分享
最佳答案
0

今天在修复一个bug时发现了解决方法:

var rawUrl = Request.GetEncodedUrl();
dudu | 高人七级 |园豆:30994 | 2018-02-21 18:29

GetEncodedUrl的实现源码在 Microsoft.AspNetCore.Http.Extensions/UriHelper.cs

dudu | 园豆:30994 (高人七级) | 2018-02-21 18:31
其他回答(1)
0

未看到你说的这个属性,以下是扩展参考~

public static Uri GetUri(this HttpRequest request)
{
if (request == null)
throw new ArgumentNullException("request");
if (string.IsNullOrWhiteSpace(request.Scheme))
throw new ArgumentException("Http request Scheme is not specified");
if (!request.Host.HasValue)
throw new ArgumentException("Http request Host is not specified");
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append(request.Scheme).Append("://").Append((object) request.Host);
if (request.Path.HasValue)
stringBuilder.Append(request.Path.Value);
if (request.QueryString.HasValue)
stringBuilder.Append((object) request.QueryString);
return new Uri(stringBuilder.ToString());
}

 

收获园豆:15
花飘水流兮 | 园豆:13560 (专家六级) | 2018-01-23 18:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册