2013-10-30 61 views
8

我在我的程序中有一個條件,我必須將可能有或沒有結尾斜槓的服務器(例如http://server1.my.corp/)與相對路徑(例如/Apps/TestOne/)組合起來。按照docsUri應該......使用System.Uri刪除冗餘斜槓

通過壓縮序列,如Canonicalizes用於分層URI路徑/./,/../,// ...

所以當我做了一些像var url = new Uri(server + relativePath),我希望它採取什麼,否則將http://server1.my.corp//Apps/TestOne/和刪除雙斜槓(即// - >/),但ToStringAbsolutePath和各種選項仍顯示冗餘/重複斜槓。我沒有使用Uri對不對?

回答

15

查看Uri class的構造函數。你需要指定一個基本Uri和一個相對路徑來獲得規範化的行爲。試試這樣的:

var server = new Uri("http://server1.my.corp/"); 
var resource = new Uri(server, "/Apps/TestOne/");