如何从C++调用WCF服务

How to call WCF service from C++

本文关键字:WCF 服务 调用 C++      更新时间:2023-10-16

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

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

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

#import "tlbfile.tlb" raw_interfaces_only named_guids

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

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

我正在运行VS 2012。

如上所述,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。C++的Poco库