2

非常奇怪的情况发生在我身上

当我尝试将某些内容发布到 WCF 方法并且此内容具有 \r 作为两个单独的字符时,实际上我将“域\机器”发送到 WCF。

奇怪的是机器名称以 R 开头,所以我发送的字符串是“domain\r* * ”,所以当 WCF 收到它时,它假定我想发送代表换行符的 \r,所以它用单个字符替换它. 任何提示如何避免这种情况?

这是函数签名

[OperationContract]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "json/listServer")]
Response ListShares(Request request); 

Request 是一个数据协定类,它只有一个数据成员 ServerName,它是字符串类型。

4

1 回答 1

-1

出于某种未知原因,将 POST 方法中的 \ 发送到 WCF Web 方法,您需要将其作为 \\\\ 发送,因为 WCF 端的 JSON 解析器将尝试查找其后跟的任何转义字符!

于 2012-12-27T22:37:22.350 回答