【问题标题】:Return JSON from WCF从 WCF 返回 JSON
【发布时间】:2011-08-27 05:52:44
【问题描述】:

我的 WCF 服务在 .net framework 3.5 中,这个 WCF 服务将被 PHP 使用,所以我使用了 basicHttpBinding(如果有更好的请提出建议)。

我在函数上使用下面的代码/属性来返回 JSON。

[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]

但它不返回 JSON(它的返回对象)。 请帮帮我。

注意:我找到了一个解决方案,但它适用于 .NET Framework 4.0。但我需要 3.5 的解决方案。 WCF 4.0 : WebMessageFormat.Json not working with WCF REST Template 谢谢

【问题讨论】:

  • 请不要建议我手动创建 JSON.. 这是我最后的选择..

标签: .net wcf json .net-3.5 basichttpbinding


【解决方案1】:

您是否已将 AspNetCompatability 属性添加到您的服务实现类?

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class ServiceImpl{
}

此外,您可能需要将绑定更改为 webHttpBinding,因为 basicHttpBinding 用于 SOAP 而不是 Json

【讨论】:

  • @Jaimal:是的,但没有 JSON 结果
  • 您还需要在端点的行为中添加 行为
  • 添加 后我收到此错误:“localhost:4569/Service1.svc”的端点没有与 None MessageVersion 的绑定。 'System.ServiceModel.Description.WebHttpBehavior' 仅适用于 WebHttpBinding 或类似的绑定。
  • 您需要将绑定更改为 webHttpBinding
  • 是的,它将可以使用 PHP 访问。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-06
  • 1970-01-01
  • 2019-05-24
相关资源
最近更新 更多