UriBuilder - удалить порт - PullRequest
       0

UriBuilder - удалить порт

0 голосов
/ 08 апреля 2020

Я хочу построить Uri, основываясь на некоторых строковых значениях, но я бы не хотел показывать порт при вызове .ToString().

        var uriBuilder = new UriBuilder("http://www.google.co.uk/")
        {
            Path = "test"
        };

. Приведенный ниже код выводит http://www.google.co.uk:80/test вместо http://www.google.co.uk/test. Есть ли способ не включать порт в последнюю строку или мне нужно использовать один из обходных путей (например, вместо new Uri(new Uri(baseUrl), relativePath)?

1 Ответ

2 голосов
/ 08 апреля 2020

Для достижения требуемого результата вы можете просто сделать это так.

var uriBuilder = new UriBuilder()
{
    Scheme = "http",
    Host = "www.google.co.uk",
    Path = "test"
};

Uri uri = uriBuilder.Uri;

В URI у вас будет желаемый результат 'http://www.google.co.uk/test'.

Если вы включите Документы Microsoft , вы увидите, что

Этот конструктор инициализирует новый экземпляр класса UriBuilder с помощью Fragment, Host, Path, Port, Свойства Query, Scheme и Uri установлены так, как указано в uri. Если в uri не указана схема, по умолчанию используется схема "http: ".

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