wcf json客户端尾随斜杠逃脱

时间:2012-02-09 12:42:49

标签: wcf json rest

我正在使用WCF作为客户端来联系接受并返回JSON数据的REST服务。

该服务位于 http://127.0.0.1/REST/get_details/ - 请注意正斜杠

不幸的是,WCF在调用url之前转义了正斜杠,因此调用失败。我无法使用WebInvoke的 UriTemplate 属性,因为这是一个webscript调用,因此不允许操作 ReplyAction [OperationContract] 适用于SOAP而非REST,所以我也不能使用它们。

此调用产生的错误网址为: / REST / get_details_x002F _

如何阻止WCF弄乱网址?

[ServiceContract(Namespace="http://127.0.0.1/REST/")]
public interface IDetailsSvc
{
    [OperationContract(Name = "get_details/")]
    [WebInvoke(
        Method = "POST",
        BodyStyle = WebMessageBodyStyle.WrappedRequest,
        ResponseFormat = WebMessageFormat.Json,
        RequestFormat = WebMessageFormat.Json)]
    DetailsResponse GetDetails(string id);
}

1 个答案:

答案 0 :(得分:1)

啊......我没有正确使用配置标签。您只能在服务端点上指定此项,而不是客户端端点。在您正在客户端中实现的端点上指定它是没有意义的。

"此元素启用端点行为,使得可以从ASP.NET AJAX网页使用服务。" http://msdn.microsoft.com/en-us/library/bb675191.aspx