我听说WCF是通过网络和.net中的应用程序进行通信的新标准。这个想法似乎也很有意义,为程序提供标准的通信接口。
这是我的情况,我有一个.net应用程序,我想通过管道与ruby应用程序进行通信。在.net端(服务器)我想使用WCF,而ruby端(客户端)将是口香糖和胶带。
我认为两端都不需要是WCF,但是要做到这一点会涉及到什么。是否有标准协议WCF期望传入请求?
答案 0 :(得分:1)
使用命名管道绑定非WCF客户端可以,但这并不容易。您需要以正确的格式发送消息以供WCF使用。
请参阅此first或last entry on WCF message framing以了解复杂性。这不是不可能,但值得努力吗?
推荐使用http传输+某种类型的文本或标记编码,如basicHttpBinding或webHttpBinding。
答案 1 :(得分:0)
取决于您的绑定,您可以使您的WCF成为webHttp绑定并使其变得安静(最简单),您只需要获取和发布。你将不得不使用SOAP标头和其他绑定来与你的WCF进行通信,我自己也没有这样做,但我确定那里有关于如何为非.net应用程序执行此操作的信息。
答案 2 :(得分:0)
您希望尽可能简化合约(根据您公开的类型)。虽然我自己没有尝试过,但我知道支持这种类型的功能(.Net到Java是一种常见的用法)并且相对容易做到。
你没有提到哪一方(.Net或Ruby)将是服务器,但我希望如果你在WCF中托管服务并从ruby中使用它,这将更容易做到。反过来可能会更加痛苦,因为与WCF的内部结合可能会有点痛苦。
答案 3 :(得分:0)
你指的是哪种“管道”?您不能将命名管道绑定与任何不是.NET的代码一起使用。
使用其中一个HTTP绑定(例如webHttpBinding或basicHttpBinding)可能会更好。