Verwenden von System.Uri, um überflüssigen Schrägstrich zu entfernen

8

Ich habe eine Bedingung in meinem Programm, wo ich einen Server kombinieren muss (z. B. http://server1.my.corp/ ), der einen Endslash mit einem relativen Pfad haben kann oder nicht (z. B. /Apps/TestOne/ ). Laut den Dokumenten sollte Uri . ..

  

Kanonisiert den Pfad für hierarchische URIs durch Komprimieren von Sequenzen wie /./, /../, //,...

Wenn ich also etwas wie var url = new Uri(server + relativePath) mache, würde ich erwarten, dass es das nimmt, was sonst http://server1.my.corp//Apps/TestOne/ wäre, und den doppelten Schrägstrich entfernen (zB // - & gt; / ), aber ToString , AbsolutePath und verschiedene Optionen zeigen immer noch den redundanten / doppelten Schrägstrich an. Benütze ich nicht Uri right?

    
Jeff Bridgman 30.10.2013, 17:25
quelle

1 Antwort

15

Sehen Sie sich die Konstruktoren für die Uri-Klasse an. Sie müssen einen Basis-Uri und einen relativen Pfad angeben, um das kanonisierte Verhalten zu erhalten. Versuchen Sie etwas wie folgt:

%Vor%     
Scott 30.10.2013, 17:29
quelle

Tags und Links