1

我目前正在从事将由两家供应商开发的项目。

  1. 我公司的第一个供应商负责将托管在Azure上的ASP.NET MVC 3应用程序。此应用程序将分析RFID 阅读器ZigBee 阅读器设备收集的数据。我还必须设计负责通信的 WCF 服务。我想强调的是,我们不是硬件设备和非托管 C方面的专家。

  2. 第二个供应商,其他公司将提供设备,这将是使用ZigBee 低能量无线传播网络的设备。每个设备可以在 3 种状态下工作、收集数据、宣传或成为所有人的管理者。“管理器”将与WCF 服务通信以将数据传输到Azure SQL 数据库

设备规格:

  1. 微控制器 Stellaris (LM3S9B90)
  2. GPRS 调制解调器 SIM900 SimCon,支持 TCP/IP 和 HTTP 通信
  3. 非托管 C

我的问题是:

  1. 您熟悉从非托管 C 与 WCF 通信吗?
  2. 是否有任何 C 语言的 DLL 来创建代理表单 WCF SOAP WSDL ?
  3. 是否有任何 DLL 可以从非托管 C 轻松使用 REST WCF 服务?
  4. 我可以使用 x509 证书保护此 WCF 并在 https 上进行通信,在非托管 C 下通信是否可能稳定且安全?

我承受着时间的压力。因此,如果您能指出任何线索,我将不胜感激。

提前致谢。

丹尼尔

4

2 回答 2

1

当您说“非托管 C”时,我假设您的开发环境是使用 C/C++ 的 Visual Studio。那是对的吗。这里有关于使用C++ 客户端与 WCF 通信的讨论。我没有亲自将 C 用于 WCF 服务的客户端,但我使用 JavaScript 和 Java 客户端在为 REST 配置 WCF 时调用 WCF。我会推荐 REST 以便于跨平台实施。应该有某种方法可以从 C 发出一个简单的 HTTP 请求,这是与 REST API 通信所需要做的一切。REST 的缺点是安全性。我不确定这需要有多安全,但您可以通过在 API 中使用证书和要求凭据来提供一些安全性。

于 2012-01-25T14:18:10.883 回答
0

正如 Kevin 所指出的,如果您使您的服务基于 REST,那将会非常容易。比你可以参考这个问题。与主题相关。您可以使用 X.509 证书保护您的 REST。

请注意,我没有亲自测试提供的库,因为我对 C/C++ 没有太多经验。但是由于POCO 库HTTPRequestHTTPResponse类。它们以及X509Certificate对您来说应该足够了。当然,安全性可能有点棘手,但这些都是很好的起点。

于 2012-01-25T19:43:24.270 回答