URI中的REST和电子邮件地址

时间:2011-01-28 15:31:20

标签: wcf email rest character-encoding

我正在使用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 个答案:

答案 0 :(得分:2)

在URI中使用特殊字符时,必须对其进行URI编码,然后在服务端进行解码。由于这是.NET,您可以使用编码/解码位进行URL编码。

答案 1 :(得分:0)

你可能需要逃避@符号。试试http://localhost/users/email/bill%40microsoft.com