REST и адреса электронной почты в URI - PullRequest
0 голосов
/ 28 января 2011

Я использую WCF / .NET 4.0 / IIS7.5 / Sever 2008

Я хочу сделать это:

http://localhost/users/email/bill@microsoft.com

Но на сервере это выглядит так:

"банкнота"

@microsoft "удаляется.

Я понимаю, что символ at - это особый случай. Есть ли изящный способ сделать это? Можно инструктировать мой метод WebGet, который этот метод собирается принять специальный символ и, пожалуйста, закодируйте его?

    [WebGet(UriTemplate = "/email/{email}")]
    [WebDispatchFormatter]
    [OperationContract]
    UserDto GetUserByEmail(string email);

Как манипулировать адресами электронной почты с помощью WCF REST?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 28 января 2011

Когда вы используете специальные символы в URI, вы должны их кодировать, а затем декодировать на стороне службы. Поскольку это .NET, вы можете использовать биты кодирования / декодирования для кодирования URL.

0 голосов
/ 28 января 2011

Вам, вероятно, нужно выйти из знака @Попробуйте http://localhost/users/email/bill%40microsoft.com

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