我的程序中有一个条件,我必须将服务器(例如http://server1.my.corp/
)组合在一起,该服务器可能有或没有带有相对路径的结尾斜线(例如/Apps/TestOne/
)。根据{{3}},Uri
应该......
通过压缩序列(例如/./,/../,//,...,/ p>来规范化分层URI的路径
因此,当我执行类似var url = new Uri(server + relativePath)
之类的操作时,我希望它采取原本http://server1.my.corp//Apps/TestOne/
并删除双斜杠(即//
- > {{ 1}}),但/
,ToString
和各种选项仍显示冗余/重复斜杠。我没有使用AbsolutePath
吗?
答案 0 :(得分:17)
看一下Uri class的构造函数。您需要指定基本Uri和相对路径以获取标准化行为。尝试这样的事情:
var server = new Uri("http://server1.my.corp/");
var resource = new Uri(server, "/Apps/TestOne/");