Я ищу хорошо протестированный класс для управления URL-адресами в .NET. В частности, я хочу иметь возможность добавлять / обновлять значения строки запроса с учетом URL-адреса.
Я нашел в сети различные классы, которые делают это, но ни один из них не кажется надежным и хорошо протестированным. Я также ничего не могу найти в .NET framework; класс Uri не позволяет мне манипулировать параметрами в строке запроса. Для этого есть код во фреймворке, но он помечен как внутренний.
Есть ли хороший надежный класс для работы с URL-адресами и QueryStrings?





Разве для этого не должно хватить простого словаря строк? обычная строка запроса ASP.NET просто состоит из пар ключ-значение, разделенных амперсандами.
Все эти особые случаи можно обрабатывать с помощью httpserverutility.htmlencode и httpserverutility.htmldecode.
Это плохой совет. "пары ключ-значение, разделенные амперсандами и словарем?" Имейте в виду, что у вас может быть несколько параметров с одним и тем же именем.
Давным-давно мы использовали SecureQueryString 2.0. поскольку он наследуется от NameValuePair (если я правильно помню), он предоставляет возможность легко добавлять, удалять значения ключей. Он также обеспечивает поддержку шифрования запроса, если хотите. Он также предоставляет возможность конвертировать URL в NameValuePair и наоборот.
Есть много особых случаев. Например, URL-адреса в тегах формы ASP.NET не имеют амперсандов, они кодируются как amp;