【问题标题】:How to call WCF service from C++如何从 C++ 调用 WCF 服务
【发布时间】:2013-08-20 08:47:18
【问题描述】:

我有一个 WCF 服务。我需要从 C++ 调用它。

解决方案可以是使用 C# dll 调用 WCF 并从 C++ 代码中调用它。 或者 C++ dll 直接调用 WCF 远程服务。

编辑:我尝试在以下代码项目article 的帮助下将 C# dll 导入 C++ 文件。但是在我的 C++ 文件中,我不能像这样导入:

#import "tlbfile.tlb" raw_interfaces_only named_guids

错误无法打开源文件 tldfile.tlh

编辑 2: 我决定使用 VC++。并制作了一个 C# dll 来调用 Web Service。但不能在 MFC 应用程序中引用 dll。

我在 VS 2012 上运行。

【问题讨论】:

  • 我有一个 C# 项目,它通过 WCF 服务与 PHP 项目进行通信。我有带有服务的 C# 项目,在 PHP 中我调用 wsdl。看看这个:stackoverflow.com/questions/15254251/…也许这会对你有所帮助。 webservice生成一个WSDL,然后你需要在你的C++项目中调用WSDL。
  • @user1467261 是的。答案真的很好。

标签: c# c++ wcf dll cross-platform


【解决方案1】:

正如上面提到的,WCF 公开了 WSDL。这是平台无关的。 您可以使用您提到的任何方式。

1:将 C# 客户端创建为库 (dll),并通过互操作性在 C++ 代码中使用该 dll。但这是一个乏味的过程,因为互操作性很乏味。

2:直接创建C++客户端:

 A. Create C++ proxy class from WSDL file
 B. Use that proxy class in your Code for communicating with Server. You will have to maintain Channel opening and closing.

3:使用第三方库处理通信渠道。最好的图书馆之一是 POCO。 Poco Library for C++

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-29
  • 2016-01-20
  • 1970-01-01
  • 2012-12-12
  • 1970-01-01
相关资源
最近更新 更多