Ответ 1
Silverlight имеет Uri.EscapeUriString и Uri.EscapeDataString, которые могут использоваться для URL-кодирования частей URI, таких как строки запроса и компоненты пути и т.д.
Даже в среде рабочего стола вы никогда не должны зависеть от System.Web.dll только для HttpUtility, хотя многие разработчики все еще это делают. Это плохо по 3 причинам.
- Сборка очень большая, и загрузка может привести к значительным задержкам для вашего приложения.
- Вы будете раздувать рабочий набор вашего процесса примерно на 20 строк кода.
- Это делает ваше приложение обязательным для полной структуры, так как System.Web не входит в профиль клиента.
В дополнение к описанным выше методам экранирования Uri, если вам нужен HtmlEncode, я бы просто разорвал код который написал кто-то другой и отбросил его в вашем приложении.