Как начать писать.Net-оболочку для C++ Omniorb-заглушек
Моя работа заключается в доступе к CPRBA-серверу-приложению из.NET 3.5. После оценки проектов, таких как IIOP.Net (неопределенное состояние) и таких продуктов, как VisiBroker (дорого), я хотел бы сделать это "самостоятельно" и написать.Net-Wrapper вокруг C++- заглушки сгенерировали мой Omniidl (генератор Omniorb IDL to C++)). Это означает написание некоторого уровня управляемого кода (CLI) вокруг неуправляемого кода C++.
У меня вопрос: есть ли у кого опыт в этой теме? Я, честно говоря, не знаю, как это сделать наилучшим образом. Прямо сейчас я планирую создать управляемый класс для каждого неуправляемого класса, каждый управляемый класс имеет члена для экземпляра неуправляемого класса, который не является сборщиком мусора. Это правильный способ сделать это, или я на неправильном пути?
Заранее спасибо!
1 ответ
Исходя из моего опыта, это один из способов решения этой проблемы - для каждого неуправляемого класса пишите класс-оболочку.NET. Вы должны изучить использование генерации кода, чтобы вам не нужно было писать много кода.
Другим вариантом является создание.NET-оболочек вокруг общей функциональности - вы можете сократить часть работы с помощью фасада - если у вас есть несколько классов, которые вам нужны для одной операции или группы операций, вы можете создать один класс.NET, который управляет всеми из них.