【问题标题】:Using System.Uri to remove redundant slash使用 System.Uri 删除多余的斜线
【发布时间】:2013-11-10 11:17:56
【问题描述】:

我的程序中有一个条件,我必须将一个服务器(例如http://server1.my.corp/)与一个相对路径(例如/Apps/TestOne/)组合起来,该服务器可能有也可能没有结束斜线。根据docsUri应该...

通过压缩 /./、/../、//、...等序列来规范分层 URI 的路径

因此,当我执行var url = new Uri(server + relativePath) 之类的操作时,我希望它会采用http://server1.my.corp//Apps/TestOne/ 并删除双斜杠(即// -> /),但ToString、@ 987654330@ 和各种选项仍显示冗余/重复斜杠。我没有使用Uri 对吗?

【问题讨论】:

    标签: c# .net url


    【解决方案1】:

    查看Uri class 的构造函数。您需要指定基本 Uri 和相对路径才能获得规范化的行为。试试这样的:

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

    【讨论】:

      猜你喜欢
      • 2018-09-18
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      相关资源
      最近更新 更多