Замена Httputility.urldecode в .Net4?

Я получил old Program(class library), разработанный .Net 2. Недавно я хочу использовать эту программу в новом проекте, который использует .Net4(For new WPF feature's ). так что возникает большая проблема:

.Net4 не поддерживает System.Web, и в результате его нельзя использовать Httputility.urldecode !!

Так что же такое urldecode jop? и как я могу изменить это на что-то, что поддерживается .Net4?


person Rev    schedule 04.08.2011    source источник


Ответы (5)


Если вам действительно нужно работать с профилем клиента (который не включает HttpUtility), вы можете проверить это Альтернатива HttpUtility для клиентской среды .NET 3.5 SP1?. (Этот вопрос касается 3.5 sp1, но в 4.0 ничего не изменилось в этом отношении)

Вы действительно должны увидеть, если вы не можете просто использовать полную структуру.

person alun    schedule 04.08.2011

HttpUtility - это дикая погоня за гусем для пользователей C #, поскольку ее еще нет (упоминается)
2 альтернативы:

  string a =  System.Uri.EscapeUriString("https://some.url.goes.here"); // for path
  string b = System.Uri.EscapeDataString("parameter1=1&parameter2=something"); // for params
person Elazaron    schedule 01.12.2013
comment
это должен быть принятый ответ, добавление System.Web только для экранирования и отмены экранирования строки - это просто не выход. - person Didier Caron; 23.09.2014
comment
Escape *** String методы заменяют UrlEncode. Для UrlDecode вам нужен Uri, UnescapeDataString - person gxclarke; 02.08.2017

Попробуйте метод UrlDecode в HttpServerUtility:

System.Web.HttpContext.Current.Server.UrlDecode()
person gerrod    schedule 04.08.2011

Как видно из ссылки ниже, .NET Framework 4 поддерживает HttpUtility. Поскольку @Alun упоминается выше, я думаю, вы используете профиль клиента .NET 4

Класс HttpUtility

person Peyman    schedule 04.08.2011
comment
к сожалению, вы правы. Профиль клиента .Net 4 не поддерживает это. но почему? - person Rev; 04.08.2011
comment
Почему отличный вопрос. Я предполагаю, что они просто не продумали это. - person alun; 04.08.2011

Вы также можете использовать System.Net.WebUtility.UrlDecode

person Usman Rauf    schedule 03.08.2015