2015-07-13 2 views
1

Я хочу создать службу WCF с помощью COM Interop, с которой мне нужно передать сложные данные. Предпочтительно массив специализированных объектов класса. Я не уверен, как этого добиться, и нет достойных примеров.WCF COM Interop со сложными типами

я нашел только один подобный вопрос на Stackoverflow здесь

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

Однако решение было просто использовать DLL C++/CLI, но вместо этого это не вариант для меня. Приложение C++, которое будет вызывать его, статически связывает среду выполнения C++, и мне сказали, что это не должно быть изменено.

+0

Возможно, это может быть полезно: http://codereply.com/answer/3qkhjy/create-wcf-service-unmanaged-c-clients.html –

+0

Чтобы уточнить, вы хотите вызвать службу WCF из com-приложения ? Зачем вам это нужно? –

ответ

1

Я хочу создать службу WCF с COM Interop

ОК, но в каком направлении вы хотите вызов идти? Для COM -> .Net вам нужно создать COM Callable Wrapper. Для .Net -> COM вам нужно создать Runtime Callable Wrapper.

Похоже, вы пытаетесь позвонить .Net из COM, но тогда возникает вопрос, почему вы пытаетесь вызвать службу WCF через interop? Если вы хотите вызвать службу, затем используйте конечную точку службы и вызовите ее.

0

Подход не ясен для меня. Я не очень много уверен, но та же проблема пришла ко мне для настольного приложения, Если вы хотите использовать COM-компоненты лучше иметь оболочку (RCW) вокруг COM, где вы ссылаетесь ПОО (Primary Interop Assemblies)

А потом из вашего основного проекта (служба WCF) ссылаются на этот проект оболочки вместо прямого обращения к COM.