2011-01-28 85 views
0

我使用WCF/.NET 4.0/IIS7.5 /服務器2008REST和電子郵件地址

我想這樣做:

http://localhost/users/email/[email protected]

但是,它顯示了像這樣的服務器:

「法案」

的 「@microsoft」 被刪除。

我知道at符號是一種特殊情況。 有沒有一個優雅的方式來做到這一點?我可以指示 我的WebGet方法,這種方法將採取 一個特殊的符號,請編碼它?

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

如何使用WCF REST操縱電子郵件地址?

謝謝。

回答

2

在URI中使用特殊字符時,必須對URI進行編碼,然後在服務端進行解碼。由於這是.NET,因此可以使用編碼/解碼位進行URL編碼。

+0

如果郵件地址是從iPhone應用程序發出的CURL字符串,我該如何編碼電子郵件地址?我是否需要告訴客戶端應用程序開發人員對電子郵件字符串進行編碼? – 2011-01-28 15:39:26

0

您可能需要轉義@符號。嘗試使用http://localhost/users/email/bill%40microsoft.com

+0

我想我可能已經很快選擇了「回答」。它仍然截斷了「%40microsoft.com」,只是返回bill ...嗯 – 2011-01-28 21:19:05

相關問題