我正在开发一个涉及嵌入式系统的项目,该系统运行带有应用程序的C程序的非Microsoft OS,并且正在为其最终用户应用程序开发.NET软件。对于使用.NET软件进行远程配置(可以跨越防火墙),我正在考虑使用WCF。到目前为止,我对WCF知之甚少,但我读过它应该可以与.NET以外的环境互操作。嵌入式环境具有HTTP堆栈,但没有内置的Web服务支持。有没有人有这种事情的经验或知道它是否合适?如果是这样,请提供一些建议或指出我正确的方向。
谢谢!
答案 0 :(得分:2)
WCF是可互操作的,因为它是通过HTTP访问的。 Visual Studio可以帮助您非常快速地为WCF构建客户端库,但客户端对WCF的访问除了具有适当有效负载的HTTP调用之外不需要任何其他内容。如果您正在查看远程服务器调用,并且嵌入式环境中的内置支持是基本HTTP,请将服务器端构建为REST格式的方法。您的调试器会感谢您。
答案 1 :(得分:1)
您打算来回转发哪些类型的数据?对于这种低级别和专有的东西,我建议坚持使用旧的老式套接字。
答案 2 :(得分:0)
我将来回传递配置数据......基本上是为了让技术支持人员能够对设备进行远程编程。如果我使用套接字,这可能是二进制数据,但是要求具有防火墙的客户不需要打开任何端口。因此,我考虑通过HTTP发送XML。那么,在服务器端使用WCF或REST是否更好?或者使用REST的WCF?
答案 3 :(得分:0)
我对你的“有防火墙的客户”的要求感到好奇。具有二进制数据或基于HTTP的XML的套接字可以使用任何端口(不仅仅是端口80),我很好奇你的设备是在网络上“监听”,还是只是进行出站连接。如果您的设备正在侦听,则需要在防火墙上打开一个端口。在防火墙上进行出站连接(“打电话回家”)要容易得多。
所以我认为你可以使用套接字和二进制数据。但是,我在最后两个项目中遇到了类似的问题,我真的想在嵌入式设备上使用REST实现WCF,但是没有其他人想要这样做 - 我希望其他人能成为第一个,并发布一些结果!
祝你好运! (并发布您的结果!)