Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过命名管道与非.net应用程序进行WCF通信_C#_Ruby_Wcf_Pipe - Fatal编程技术网

C# 通过命名管道与非.net应用程序进行WCF通信

C# 通过命名管道与非.net应用程序进行WCF通信,c#,ruby,wcf,pipe,C#,Ruby,Wcf,Pipe,我听说WCF是跨网络通信和.net应用程序的新标准。这个想法似乎也有道理,为程序提供标准的通信接口 这是我的情况,我有一个.net应用程序,我想通过管道与ruby应用程序通信。在.net端(服务器端),我想使用WCF,而ruby端(客户端)将使用口香糖和胶带 我假设两端都不需要是WCF,但这项工作将涉及到什么。是否存在WCF期望传入请求的标准协议?取决于您的绑定,您可以将WCF设置为webHttp绑定并使其成为restful(最简单的),您只需执行GET和POST即可。其他绑定您将不得不使用SO

我听说WCF是跨网络通信和.net应用程序的新标准。这个想法似乎也有道理,为程序提供标准的通信接口

这是我的情况,我有一个.net应用程序,我想通过管道与ruby应用程序通信。在.net端(服务器端),我想使用WCF,而ruby端(客户端)将使用口香糖和胶带


我假设两端都不需要是WCF,但这项工作将涉及到什么。是否存在WCF期望传入请求的标准协议?

取决于您的绑定,您可以将WCF设置为webHttp绑定并使其成为restful(最简单的),您只需执行GET和POST即可。其他绑定您将不得不使用SOAP头等来与WCF通信,我自己还没有这样做,但我确信有关于如何为非.net应用程序执行此操作的信息。

您将希望合同尽可能简单(就您公开的类型而言)。虽然我自己没有尝试过,但我知道这种类型的功能是受支持的(.Net到Java是一种常见用法),并且相对容易实现

您没有提到哪一方(.Net或Ruby)将是服务器,但我希望如果您在WCF中托管服务并从Ruby使用它,这将更容易实现。换一种方式可能会有点痛苦,因为弄脏WCF的内部可能会有点痛苦。

你指的是什么样的“管道”?不能将命名管道绑定与任何非.NET的代码一起使用


您最好使用一种HTTP绑定,如webHttpBinding或basicHttpBinding。

为非WCF客户端使用命名管道绑定是可能的,但这并不容易。您需要以正确的格式发送消息,以便WCF使用

请参阅此或以了解复杂性的提示。这并非不可能,但值得付出努力吗


建议使用http传输+某种类型的文本或标记编码,如basicHttpBinding或webHttpBinding。

关于客户机-服务器关系的好建议,我更新了这篇文章。我特别希望使用命名管道。我认为WCF的好处之一是协议独立于传输。既然ruby有一个管道库,那就不能用了吗?我收回这句话。我最近读到的是,命名管道绑定只能在同一台机器上使用。我还没有看到任何地方记录的协议细节。把这些放在一起,并不意味着你不可能将其与Ruby一起使用,但这可能是不可能的。用Ruby打包是相当容易的,但是将框架协议从英语翻译成代码可能比使用不推荐使用的pipes库要复杂得多。