WCF服务方法返回json或soap

Tec*_*Xie 3 rest service wcf json

我一直在阅读很多关于在WCF方法中检索/返回json对象的帖子.如果我错了,请纠正我:除了WebInvoke之外,在配置中添加端点和WebHTTp行为,然后服务方法才能使服务方法返回json对象.

webinvoke的使用使得该方法非常特定于某种格式(json here).问题是我已经有了WCF SOAP服务,我想重用服务方法才能返回XML或JSON对象.有没有办法使方法通用,并根据使用的端点或用于访问我的服务方法的平台更改响应格式?

Lad*_*nka 6

对的,这是可能的.JSON和SOAP需要不同的绑定,所以你的服务需要两个端点-一个与webHttpBindingwebHttp端点的行为和第二,basicHttpBinding或面向其他SOAP绑定.这些端点必须具有不同的相对地址.

如果要在REST服务中同时支持JSON和XML(POX而不是SOAP)格式,则可以通过定义用于REST端点automaticFormatSelectionEnabled="true"webHttp行为在WCF 4中的同一端点上执行此操作.这允许端点返回格式化为JSON或XML的数据.格式的选择基于传入请求的格式,因此JSON中的请求将获得JSON中的响应,而XML中的请求将获得XML响应.