Используя файл c ++ .lib в WCF или оболочку c #? - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть несколько файлов c ++ .lib, и я хочу создать службу WCF, в которой все функции, написанные в файлах lib, могут вызываться и, наконец, могут использоваться в распределенной системе (web, android, iphone).

Сомнения:

  • Нужен ли объект DCOM для связи cpp lib с c #, а затем вызывается dll DCOM в WCF.
  • Служит ли WCF автоматическим маршалом из cpp в c # (с использованием System.Runtime.InteropServies)

    - Я не уверен, что поздняя привязка в WCF может творить чудеса?

Некоторые моменты, которые я обнаружил во время rnd.

  • Я знаю, как создать dll из .lib файла в vc ++, но здесь возникает проблема «Пересечение функций класса cpp в коде c #».,Например, в cpp я создал функцию getData (char * ch).Теперь, как вызвать эту функцию, передав строку, скажем;"Привет, мир".Выдает ошибку как (не может перегрузить тип данных SByte *).Пробовал Sbyte.Parse () и Sbyte.TryParse (), но не повезло.

Извините, если это звучит странно, но любая помощь в виде ссылок или примера кода будет высоко оценена.Спасибо, Абхай

1 Ответ

0 голосов
/ 14 декабря 2011

Является ли библиотека C ++ уже COM или другой компонентной технологией или просто кодом C ++ без отношения к COM? В первом случае вы можете добавить COM в качестве ссылки (это должен быть .dll) к проекту .NET, но вы должны сделать это самостоятельно (обработать правильный выпуск COM). В последнем случае почти правильно использовать C ++ / CLI, чтобы обернуть ваши собственные методы C ++ и предоставить их непосредственно как службу WCF или предоставить оболочку как библиотеку .NET для проекта службы WCF. Конечно, вы должны вручную обрабатывать переходы между строками и другими объектами между управляемой и неуправляемой памятью, но это то, чем занимается C ++ / CLI.

...