2015-07-13 112 views
1

我想用COM Interop创建一个WCF服务,我需要传递复杂数据。最好是一组自定义类对象。我不知道如何实现这一点,缺乏体面的例子。WCF COM复杂类型互操作

我只找到#2一个类似的问题在这里

Calling C# From Unmanaged C++ Passing Or Returning "Complex" Types

然而,该解决方案是只使用C++/CLI DLL代替,但这不是我的选择。将静态调用它的C++应用程序将链接到C++运行时,并且我被告知不能更改。

+0

也许这可能是有用的:http://codereply.com/answer/3qkhjy/create-wcf-service-unmanaged-c-clients.html –

+0

所以为了澄清,你想从一个COM应用程序调用WCF服务?为什么你需要com互操作呢? –

回答

1

我想与COM互操作

OK创建一个WCF服务,但是你要调用什么方向走?对于COM - > .Net,您需要创建一个COM Callable Wrapper。对于.Net - > COM,您需要创建一个Runtime Callable Wrapper

听起来好像你正在尝试从COM调用.Net,但这引发了问题,为什么你要通过互操作调用WCF服务?如果您想调用该服务,则使用该服务端点并调用它们。

0

方法对我来说还不清楚。 我不是非常确定,但如果你想使用COM组件最好有围绕COM的包装(RCW),您指的PIA的(主互操作程序集)

然后同样的问题也来向我的桌面应用程序, 从你的主项目(WCF服务)引用这个包装项目,而不是直接引用COM。