Есть ли встроенная функция создания абсолютного (полностью определенного) URL-адреса из относительного пути, такого как «~ / page.aspx» с учетом текущего URL-адреса?

Сценарий: у меня есть относительный URL-адрес приложения, например "~ / path / to / page.aspx? Query = string". Мне нужно программно создать веб-запрос на эту страницу и в настоящее время использовать WebRequest. Создайте . Проблема в том, что WebRequest.Create требует полного URL-адреса, включая протокол / домен / порт и т. Д.

У меня есть доступ к текущему объекту Request.Url, но, похоже, нет простого способа получить только базовый URL сохраняя протокол (HTTP или HTTPS), а также любые номера портов, а также путь к приложению.

Я имею в виду всю информацию там, поэтому, если понадобится, я мог бы просто взять все части и объединить их, но кажется как будто это может быть подвержено ошибкам, и было бы здорово иметь что-то встроенное, хорошо протестированное для выполнения этой работы. Page.ResolveUrl почти добрался до меня, но в нем отсутствует протокол и домен / порт.

5
задан Davy8 8 December 2010 в 18:29
поделиться