Créer un nouvel URI à partir de URI de base et Relative Path - slash fait la différence?
Pourquoi un slash de faire la différence lors de l'utilisation de new URI(baseUri, relativePath)?
Ce constructeur crée un Uri exemple en combinant les baseUri et la relativeUri ..
Et, comment peut peut un chemin d'accès relatif être ajouté en toute sécurité/de façon constante à un URI?
var badBase = new Uri("http://amee/noTrailingSlash");
var goodBase = new Uri("http://amee/trailingSlash/");
var f = "relPath";
new Uri(badBase, f) //BAD -> http://amee/relPath
new Uri(goodBase, f) //GOOD -> http://amee/trailingSlash/relPath
La sortie désirée est "bon", même lorsque la première URI ne dispose pas d'une barre oblique.
source d'informationauteur user2864740
Vous devez vous connecter pour publier un commentaire.
Eh bien, c'est ce qui se passe sur le web normalement.
Par exemple, supposons que je suis à la recherche d'
http://foo.com/some/file1.html
et il y a un lien pourfile2.html
- que le lien va àhttp://foo.com/some/file2.html
droit? Pashttp://foo.com/some/file1.html/file2.html
.Plus précisément, si, cela suit l'article 5.2.3 de RFC 3986.
J'ai été jouer avec l'Uri constructeur avec la surcharge
new Uri(baseUri, relativePath)
. Peut-être que d'autres pourront trouver des résultats utiles. Voici la sortie de l'application de test que j'ai écrit: