【问题标题】:How to connect a C++ program to a WCF Service?如何将 C++ 程序连接到 WCF 服务?
【发布时间】:2011-03-11 19:23:28
【问题描述】:

在我工作的地方,有些软件是用 C# 编写的,有些是用 C++ 编写的(最重要的)。前段时间,我们决定通过 Web 服务发送堆栈跟踪和异常信息来跟踪软件中任何可能的问题是一个好主意。所以我提供了一个 WCF 服务,它获取信息并将它们存储在数据库中并自动发送电子邮件。它起作用了,我们必须通过密码保护它,它已经完成了,但现在我想要我们的其他软件,用 C++ 编写的软件,使用这个 web 服务(这个软件在 windows 和 linux 上都使用,所以我们不能只做调用用户机器中的另一个软件)。

我在谷歌上搜索了一下,发现了这个tutorial on how to use gSOAP,到目前为止对我没有多大帮助(很多错误,不是很详细,还有 web.config文件无法读取)。我想知道是否有其他方法可以实现这一目标。此外,由于我在我的 web 服务上使用身份验证,它现在有一个 wsHttpBinding(gSOAP 不支持 AFAIK)。

你们能帮帮我吗?

【问题讨论】:

  • 我也有同样的问题。你不能这样做是 Microsoft 的最大利益。

标签: c++ wcf


【解决方案1】:

由于您的 WCF 服务是 C# 和 .NET,唯一的问题是让 C++ 应用程序能够与之对话,一种方法是遵循 REST / SOAP Endpoints for a WCF service 和相关文章中的建议。

您的 C# 程序继续拥有对您的服务的完整 SOAP 访问权限。 你的 C++ 程序可以为 REST 访问做这样的事情:

  • “浏览”到所需服务命令的 HTTP GET URL。
  • 然后抛出(或解析并使用)返回的任何响应。

提供 SOAP 和 REST 对您的 WCF 服务的更改非常小。 REST 功能向 JavaScript 和 C++ 客户端打开您的服务。

您可能需要将接口限制为简单数据或易于在 C++ 中解析的类对象。

【讨论】:

    【解决方案2】:

    运行 C++ 应用程序的机器是否安装了 .NET Framework?

    查看:Create WCF service for unmanaged C++ clients

    【讨论】:

    • 由于这个软件可以在linux上使用,所以不能确定。
    猜你喜欢
    • 2011-03-11
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 2017-07-28
    • 2017-06-07
    • 1970-01-01
    相关资源
    最近更新 更多