3

我有一个 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 Service。但不能在 MFC 应用程序中引用 dll。

我在 VS 2012 上运行。

4

1 回答 1

3

正如上面提到的,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 库

于 2013-08-20T09:05:13.157 回答