UrlEncode для Silverlight? - PullRequest
       2

UrlEncode для Silverlight?

1 голос
/ 25 января 2012

Где находится версия UrlEncode для Silverlight? Кажется, я не могу найти HttpUtility или что-то подобное.

Ответы [ 2 ]

4 голосов
/ 25 января 2012

1) HttpUtility поддерживается в Silverlight 3+.Он находится в System.Windows.Browser, но не в отсутствующем пространстве имен System.Web.Однако в настоящее время он не поддерживается в WP7.

2) Одна из нежелательных опций для Url-кодирования, о которой упоминалось ранее, заключается в использовании Uri.EscapeUriString .Обратите внимание, что Uri.EscapeUriString имеет другой результат, чем HttpUtility.UrlEncode для некоторых специальных символов, таких как пробелы и знак «+».Так что они не являются функционально эквивалентными.Так как некоторые браузеры или веб-серверы могут быть чувствительны к этим изменениям, я бы мягко рекомендовал избегать использования Uri.EscapeUriString для любого не умиротворяющего использования (когда вы не владеете обоими сторонами разговора клиента <-> на сервере).

Использование Uri.EscapeUriString также увеличивает риск случайного использования Uri.UnescapeDataString, которая является матерью всех злодеяний .Подробнее об этом и дополнительных различиях между методами HttpUtility и Uri см. Эту статью 2006 года от команды ASP.Net: Не используйте .NET System.Uri.UnescapeDataString в декодировании URL

3) Мое предлагаемое решение, которое я успешно использовал в своих приложениях WP7, - это скопировать HttpUtility из Mono.Это основано на предложении Джоша от 2-х лет назад и хорошо мне помогло в кодировании лучших приложений WP7.

2 голосов
/ 25 января 2012

используйте Uri.EscapeUriString вместо

здесь - документация MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...