2009-08-04 56 views
0

我有一个REST WCF服务和一个WCF客户端应用程序。如何强制请求为JSON?即如何阻止XML正文?

我的操作有具有以下属性的属性WebGet:BodyStyle = WebMessageBodyStyle.Bare,ResponseFormat = WebMessageFormat.Json,RequestFormat = WebMessageFormat.Json

然而,当我使用WCF客户端时,请求与作出XML格式的正文!这是不可取的!我如何将其更改为使用JSON?此外,我想阻止XML在服务器端被接受,以及 - 我该如何做到这一点?我会期望指定的RequestFormat做到这一点,但它似乎只是一个建议?

编辑:没关系,我是个白痴。我在看错误的合同 - 正确的合同是在我没有扩大的地区内......客户工作正常。服务器点仍然有效,但在这个问题的上下文中,可能最好考虑关闭此问题。

回答

1

没关系,我是个白痴。我正在看错误的合同 - 正确的合同是在一个我没有扩大的地区内......客户工作正常。服务器点仍然有效,但在这个问题的上下文中,可能最好考虑关闭此问题。

2

你是什么意思你指定[WebGet]并获得一个XML体的请求? GET请求不能有主体(任何输入必须是URL路径或查询字符串的一部分)。你在谈论[WebInvoke]吗?

至于在服务器端强制执行请求格式,现在我认为默认情况下WCF会处理这两种格式,无论您在合同中指定了什么内容。你可以通过查看请求消息content type来自己强制执行它,如果它是“text/xml”(或者除了application/json之外的其他任何东西),它就会拒绝它。