C# 连接非托管c++;使用TCP绑定到WCF

C# 连接非托管c++;使用TCP绑定到WCF,c#,c++,wcf,C#,C++,Wcf,我有一个用C#编写的WCF服务器,并使用netTCPBinding与客户机通信。现在我希望我的非托管C++客户端连接到同一个WCF服务器。 这可能吗?C++客户端是否可以具有与C客户端相同的功能?如果可能的话,我怎么做?我读了一些关于在C++客户端和C**服务器之间建立一个桥DLL的东西,但是教程很老,所有的模板都在VisualStudio 2013 Express中丢失了。 < P>查看Windows Web服务API: -主页 -代码示例 本文介绍了如何在C++与W.C.WCF:< /P>之

我有一个用C#编写的WCF服务器,并使用netTCPBinding与客户机通信。现在我希望我的非托管C++客户端连接到同一个WCF服务器。
这可能吗?C++客户端是否可以具有与C客户端相同的功能?如果可能的话,我怎么做?我读了一些关于在C++客户端和C**服务器之间建立一个桥DLL的东西,但是教程很老,所有的模板都在VisualStudio 2013 Express中丢失了。

< P>查看Windows Web服务API:

-主页

-代码示例

本文介绍了如何在C++与W.C.WCF:< /P>之间实现连接

请注意,托管WCF和本机客户端之间的互操作性受到限制。托管WCF公开了一些本机WWS API不支持的功能,如异常编组、回调接口、托管对象序列化。您需要使用简单的二进制通信协议,并在两侧手动进行二进制序列化(如有必要)。单向(异步)WCF调用可以在WWS API中作为
void
方法实现。在双方使用服务器/客户端对,而不是回调接口。我建议您使用简单的高级WWS服务模型,而不是非常复杂的通道层

根据我的个人经验:在测试了WWS-WCF互操作性之后,我决定在WWS SDK中实现通信级别,并通过PInvoke为C#代码公开此功能。只有当我需要与现有的WCF服务通信而无法更改时,我才会使用WWS-WCF互操作性


另一种方法:将.NET支持添加到本机C++项目中。现在您可以通过传统的.NET方式使用WCF。例如,您可以添加引用WCF的C类类库,并从C++代码调用它。

谢谢,我实现了它,并有最后一个问题:我在服务器上有一个方法,它需要一个类(服务器已知并在C语言中实现)作为参数。我可以在C++中创建这个类并将其发送到服务器,以便他接受它吗?不,不能用本机代码来执行这个操作,请阅读我的WWS限制vs .NET WCF的注释。在这种情况下,最好将.NET支持添加到.NET项目中,并使用C++类库来进行WCF通信。或者将通信协议限制为双方都知道的简单类型,如
int、char