Ответ 1
Хотя вы можете создать Uri
без хост-части, большинство его свойств затем выведут InvalidOperationException ( "Эта операция не поддерживается для относительного URI" ), поскольку эти свойства полагаются на абсолютный Uri.
HttpUtility.ParseQueryString()
действительно не поможет здесь, поскольку он работает только с частью запроса Uri, которую вы не можете получить, потому что у вас нет абсолютного Uri.
Итак, хотя это может показаться хриплым, я думаю, что конструктор new Uri(baseUri, relativeUri)
делает именно то, что вы хотите. Кажется, я не могу найти лучший или более чистый способ сделать то же самое.