我正在使用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操作电子邮件地址?
感谢。
答案 0 :(得分:2)
在URI中使用特殊字符时,必须对其进行URI编码,然后在服务端进行解码。由于这是.NET,您可以使用编码/解码位进行URL编码。
答案 1 :(得分:0)
你可能需要逃避@符号。试试http://localhost/users/email/bill%40microsoft.com