2011-07-13 12 views
16

Potrzebuję zbudować ścieżkę identyfikatora URI z wartości ciągów i łączę je razem. Czy istnieje stała URI dla wartości separatora /, ponieważ istnieje dla Path.PathSeparator?Czy istnieje odpowiednik identyfikatora URI Path.PathSeparator w .NET?

+1

Duplikat http://stackoverflow.com/questions/372865/path-combine-for-urls. – Mike

+2

Nie, wiem jak łączyć adresy URL, staram się unikać twardego kodowania "/" w moim kodzie –

Odpowiedz

9

Najwyraźniej nie ma. W końcu nie jest to zależne od platformy i RFC 2396 RFC 3986 określa, że ​​separator ścieżek w identyfikatorach URI jest w rzeczywistości /.

Do łączenia identyfikatorów URI najlepiej jest użyć konstruktora Uri(baseUrl, relativeUrl) zgodnie z sugestią Mike'a.

+1

Wierzę, że RFC 2396 został zastąpiony przez [RFC 3986] (https://tools.ietf.org/html/rfc3986) – Andacious

+0

istnieje pewien kod specyficzny dla platformy w [bieżącej implementacji platformy .NET] (https://referencesource.microsoft.com/#System/net/System/URI.cs,3619), ale dotyczy to specjalne przypadki protokołu file: //, gdzie mogą istnieć ścieżki UNC ... w przeciwnym razie istnieje literał znaków ''/' 'w każdym miejscu, więc jeśli zdefiniowali gdzieś stałą, to jej nie używają . – dlatikay

Powiązane problemy