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?
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%