在拼接絕對路徑的網址時,經常需要從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的圖片可以更清楚地知道。