1

我正在开发一个媒体应用程序,我想为其提供一个外部 API 库,允许另一个应用程序与我的查询状态信息进行通信。我的应用程序是用 C# 编写的,API DLL 将是相同的。最初我的想法是简单地使用 WCF 和命名管道,因为它将提供一种非常简单的方法来编写整个接口。

但是,我意识到如果我想为它制作一个 android 或 Web 遥控器,这样做几乎会阻止任何其他语言或平台与应用程序通信。

那么,我可以使用什么协议来允许在我的 C# 代码中实现快速简单的接口,同时还允许在其他平台上编写 API。

基本要求是:

  • 本地和远程通信
  • 低开销
  • 过程调用
  • 文件传输(发送媒体)
  • 预先存在的 C#,开源库会很好。

我看过很多选项,以前使用过 XML-RPC 和 JSON-RPC,但想知道社区认为什么是最佳选项。

4

1 回答 1

2

我认为使用 WCF 是做你想做的最好的方法。它将易于维护,满足您的所有要求并且易于扩展。只是不要仅通过 net.pipe 限制对 API 的访问。我认为你应该使用 net.pipe、net.tcp 和基本的 http 作为主要绑定。我的意思是每个服务都有几个端点。因此,客户端应用程序,无论它是用什么语言编写的,都可以选择使用什么绑定来访问您的 API 服务器。

例如:

  • 同一台机器上的 C# 客户端应用程序 - 使用 net.pipe
  • Web 中的 PHP 客户端应用程序 - 使用基本 http
  • 另一台机器上的 Java 客户端应用程序 - 使用 net.tcp

举个例子:

http://www.kevingao.net/wcf-java-interop/java-client-and-wcf-server.html

于 2011-08-14T04:34:49.130 回答