我一直致力于创建独立于 .Net 客户端运行的 WCF 服务。感谢 Google 和 StackOverflow,我已经能够创建简单的 xml 和 json 服务,而无需 Soap 包装器和一堆我不需要的花哨的 WCF 东西。这是一次痛苦的经历,因此是这个问题的主题。自动添加服务引用时,使用 WebGet 和 WebInvoke 时,WCF 在客户端出现故障。
为了检查通信,我一直在本地创建 WCF 客户端并通过Fiddler传递所有内容。这样,无论它是否有效,我至少可以看到客户端试图发送的内容。当它最终起作用时,我可以看到从两端发送的数据,然后在非 .Net 客户端中复制这种通信。
我当前的问题是,当我将服务更改为期望 POST 数据为 json(启用WebScript 行为)时,客户端不知道,它仍然尝试将对象作为 xml 发送。在使用添加服务参考时,客户端的配置没有自动正确设置,我遇到了很多问题,所以我希望我可以将它添加到客户端的 app.config 中。在使用 XML 时,我在服务中创建和使用的对象是由客户端自动进行 xml 序列化的(这是最方便的)。这甚至可以在当前版本的 WCF 中作为 json 执行吗?
应该注意的是,我能够手动弄清楚我需要做什么,并让它以原始形式与 Fiddler(请求生成器)一起工作,因此我可以在代码中序列化我的对象并通过 http post 手动发送数据。 ..这就是我在非.Net客户中的做法。这更像是一个更好地理解 WCF 方面的问题,以及为什么我在客户端缺少如此多的属性,而客户端几乎没有文档来解决这些问题。