wcf-json客户端尾部正斜杠转义



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

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

不幸的是,WCF在调用url之前转义了尾部的正斜杠,因此调用失败。我不能使用WebInvoke的UriTemplate属性,因为这是一个webscript调用,所以它是不允许的,并且[OperationContract]ActionReplyAction是针对SOAP而非REST的,所以我也不能使用它们。

此调用导致的错误url为:/REST/get_details_x002F_

如何阻止WCF弄乱url?

[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);
}

啊。。。我没有正确使用config标记。您只能在服务终结点而不是客户端终结点上指定此项。在客户端中实现的端点上指定它是没有意义的。

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

最新更新