c++ - 如何将 native 可执行程序的输出发送到 Web 服务世界?

标签 c++ wcf web-services

我有很多 C/C++ 旧的 native .exe 和 .dll 程序在我公司的 Windows 服务器上运行。

一些 .exe 程序(我将用 E 指定)在控制台或文件中获取结果,而大多数 .dll 程序 (D) 以结构数组的形式返回结果。

我的老板问我是否可以在不修改“E”和“D”的情况下“同时”将“E”和“D”生成的结果发送到使用 WCF 的 .NET Web 服务平台。

我阅读了一些有关 Web 服务/WCF 的内容以找到答案。但是,我在脑海中构建了第一个解决方案场景:创建 C# WCF 项目,其中:

  • 对于“E”,将读取“E”程序生成的文件并将结果发送给客户
  • 对于“D”,将在发送结果之前与返回值“互操作和编码”。

我有一些问题;从“E”和“D”得到结果后,如何将这些结果发送给客户端?这是在发送到客户端程序之前序列化结果的“必须”吗?我想客户端程序应该有一个反序列化的例程。如果发送给客户端的值是一个简单的字符串或一个简单的整数,是否有必要进行序列化?

谢谢!!

最佳答案

首先,您应该知道有不同种类的网络服务。最常见的是 REST 和 SOAP。我假设您想使用 SOAP。在这种情况下,每条消息都必须进行编码,但这将由您的 SOAP 库/框架处理。客户也是如此。他通常不会“手工”解码 SOAP 消息。它由客户端 SOAP 库/框架处理。

您关于整合 E 和 D 的想法是正确的。对于 D,您还可以查看 CLI/C++。它可能会使集成更容易,但这取决于您的场景以及您的 .Net 和 C++ 知识。

关于c++ - 如何将 native 可执行程序的输出发送到 Web 服务世界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1273833/

相关文章:

.net - 如何在 .NET 中构建此客户端/服务器应用程序?

java - 需要java中的安全头代码

ios - 将照片从 iPhone 上传到 4D 服务器

ajax - 如何将基于 Spring + Hibernate 的应用程序后端与纯 HTML 和基于 AJAX 的客户端连接?

c++ - C++读取用户输入而无需按回车键(Mac OS X),与Turbo Pascal中的readkey相同

c++ - CUDA 纹理和夹紧

c# - "The creator of this fault did not specify a Reason"异常

c++ - 由非常量成员函数更改的可变变量

c++ - 类成员函数的 decltype

wcf - 使用 DataContractSerializer 序列化 DataSet 时保留 DataRowState