Это https://msdn.microsoft.com/en-us/library/system.uri.query.aspx и этот https://ietf.org/rfc/rfc1738.txt предполагает, что класс .Net Uri не распознает точку с запятой как допустимый символ для представления запроса в URL-адресе.
Для обходного пути требуется всего одна строка или около того, но мне нравится, когда мой код чист. Если есть решение, которое позволяет мне не выполнять синтаксический анализ строк за пределами набора классов Uri .Net, я бы предпочел это. Существует ли какой-либо существующий код .Net, который обрабатывает точки с запятой для распознавания их как части запроса в URL-адресе?