在拼接绝对路径的网址时,经常需要从Request.Url中获取根网址(比如http://www.cnblogs.com),然后与相对路径一起拼接为绝对路径。
以前的做法如下:
var uri = Request.Url.Scheme + "://" + Request.Url.Host + "/aggsite/topviews";
今天发现了更简单的方法:
var uri = Request.Url.GetLeftPart(UriPartial.Authority) + "/aggsite/topviews";
得到的结果是:
http://www.cnblogs.com/aggsite/topviews
原来根网址是这样构成的:
scheme://Authority
从下面的来自Wikipedia的图片可以更清楚地知道。