1

我在 iPhone 应用程序的 WCF 休息服务部分工作。我的方法之一如下。

[OperationContract]
        [WebInvoke(Method="POST",
                   ResponseFormat = WebMessageFormat.Json,
                   BodyStyle = WebMessageBodyStyle.Wrapped,
                   UriTemplate = "Update/{tokenId}/{title}")]
int Update (string tokenId, string title);

我的问题是当我们在“title”参数中传递特殊字符时,这个方法没有被调用。我认为这与编码有关。我们如何为此实现编码?如果可能,请提供 iPhone 和 WCF 部分的编码和解码代码。提前致谢。

4

1 回答 1

0

您需要对 URI 中的参数使用 URL 编码/解码。

对于 .NET 部分,要么使用一些自定义反序列化器机制(Web API 中有这样的,不记得它们是否在 WCF 4 REST 中)或:

方法 UrlEncode 和 UrlDecode 来自System.Web.HttpUtlity class

对于 iphone 部分,请查看此处的问题,例如 如何对字符串进行 URL 编码

于 2012-11-26T09:20:44.243 回答