当这个“快速一小时”项目出现时,我从没想过两天后我会在 Stackoverflow 上问这个问题。然而,我们来...
我有许多外部客户端应用程序(java、perl、php、c#),它们当前在返回 JSON 的 WCF REST 服务上调用 GET 方法。这工作正常,并且完全按照您的预期实施。
我现在需要这些相同的应用程序将 JSON POST 到原始服务接口上的新方法中。C# 应用程序使用 WebClient,Perl 和 PHP 使用 CURL,Java 使用一些我不参与的魔法。它们都将 JSON 生成为字符串,然后调用基本的 HTTP 功能将数据 POST 到端点。
问题是我们使用的 JSON 没有与之关联的 C# 类(由于无法更改的原因),因此我们打算使用字符串和 json.net 来解析/处理传入的数据。例如,端点可以是:
https://magic.myserver.com/service/dataaggregator/
外部应用程序将 JSON 字符串发布到此,并在我们根据需要解析和处理的底层代码中。
所以问题是一个非常简单的问题,从服务接口的角度来看,这将如何实现?我可以毫无问题地处理服务代码中的 JSON 字符串的序列化/管理问题是我如何首先将该 JSON 字符串放入服务代码中。
目前我认为这些不能使用“普通”WCF REST 接口来完成,而是我必须实现一个较低级别的 HTTP 侦听器,在那里我可以直接访问传入的 post 数据。