WCF COM 与复杂类型的互操作
WCF COM Interop With Complex Types
我想使用 COM Interop 创建一个 WCF 服务,我需要用它来传递复杂的数据。最好是一组自定义 class 对象。我不确定如何实现这一点,并且缺乏像样的例子。
我在 Whosebug 上只发现了一个类似的问题
Calling C# From Unmanaged C++ Passing Or Returning "Complex" Types
但是,解决方案是只使用 C++/CLI dll,但这对我来说不是一个选择。将调用它的 C++ 应用程序静态链接 C++ 运行时,我被告知不得更改。
I want to create a WCF service with COM Interop
好的,但是您希望呼叫的方向是什么?对于 COM -> .Net,您需要创建一个 COM Callable Wrapper. For .Net -> COM you need to create a Runtime Callable Wrapper。
听起来您正试图从 COM 调用 .Net,但这又引出了一个问题,您为什么要尝试通过互操作调用 WCF 服务?如果要调用服务,则使用服务端点并调用它们。
我不清楚方法。
我不太确定,但桌面应用程序也遇到了同样的问题,
如果你想使用 COM 组件,最好在 COM 周围有一个包装器 (RCW),你可以在其中引用 PIAs(Primary interop Assemblies)
然后从您的主项目(WCF 服务)引用此包装器项目,而不是直接引用 COM。
我想使用 COM Interop 创建一个 WCF 服务,我需要用它来传递复杂的数据。最好是一组自定义 class 对象。我不确定如何实现这一点,并且缺乏像样的例子。
我在 Whosebug 上只发现了一个类似的问题
Calling C# From Unmanaged C++ Passing Or Returning "Complex" Types
但是,解决方案是只使用 C++/CLI dll,但这对我来说不是一个选择。将调用它的 C++ 应用程序静态链接 C++ 运行时,我被告知不得更改。
I want to create a WCF service with COM Interop
好的,但是您希望呼叫的方向是什么?对于 COM -> .Net,您需要创建一个 COM Callable Wrapper. For .Net -> COM you need to create a Runtime Callable Wrapper。
听起来您正试图从 COM 调用 .Net,但这又引出了一个问题,您为什么要尝试通过互操作调用 WCF 服务?如果要调用服务,则使用服务端点并调用它们。
我不清楚方法。 我不太确定,但桌面应用程序也遇到了同样的问题, 如果你想使用 COM 组件,最好在 COM 周围有一个包装器 (RCW),你可以在其中引用 PIAs(Primary interop Assemblies)
然后从您的主项目(WCF 服务)引用此包装器项目,而不是直接引用 COM。