Почему конструктор URI удаляет часть пути из аргумента baseUri? - PullRequest
0 голосов
/ 13 ноября 2018
public class Program
{
    public static void Main()
    {
        Uri baseUri = new Uri("http://localhost:7777/BasePath/");
        Uri uri = new Uri(baseUri, "/controller");
        Console.WriteLine(uri);
    }
}

Это намерение стереть / BasePath из uri и окончательный результат будет http://localhost:7777/controller?

1 Ответ

0 голосов
/ 13 ноября 2018

Мне пришлось копаться в документации для конструктора, который вы вызываете .

public Uri (Uri baseUri, string relativeUri);

Кроме того, если relativeUri начинается с косой черты, то он заменит любую относительную часть baseUri.

Это предполагаемое поведение. Если вы указываете относительный путь, который начинается с косой черты, он предполагает, что относительный путь - это весь относительный путь, поэтому он отбрасывает любой относительный путь, уже включенный в baseUri.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...