Как использовать COM + локальный сервер из C #? - PullRequest
0 голосов
/ 11 апреля 2010

У меня есть веб-приложение от компании, которая прекратила свою деятельность.Мы хотим немного расширить веб-приложение с помощью некоторых функций asp.net.Веб-приложение было написано как приложение ISAPI в Delphi и использует COM + для связи с SQL Server и обрабатывает такие вещи, как управление сеансами и аутентификация.

Итак, чтобы получить текущего пользователя и другие подробности, ядолжны использовать недокументированные компоненты COM +.Мне удалось выкопать библиотеку типов и автоматически сгенерированный IDL, но в этот момент я потерял создание прокси-класса .NET для этого.

Есть ли способ автоматически сгенерировать .netCOM + прокси либо из самого .dll (извлечение информации о typelib), либо из IDL?

Примечание. Похоже, это простые объекты в стиле COM, размещенные на серверах COM +, без подписок или мониторинга транзакций.

Ответы [ 3 ]

3 голосов
/ 11 апреля 2010

Вы можете использовать tlbimp.exe для генерации прокси-классов C # из вашей библиотеки COM.

tlbimp.exe myTest.tlb /out:myTest.dll

Если у вас нет tlb, он также работает с COM dlls. После того как сборка оболочки COM сгенерирована, вы можете ссылаться на нее в своем проекте и использовать типы внутри нее, как и любой другой класс .NET.

Возможное расположение tlbimp.exe: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\TlbImp.exe или используйте командную строку Visual Studio.

1 голос
/ 11 апреля 2010

Запустите Tlbimp.exe в библиотеке типов, чтобы сгенерировать сборку взаимодействия .NET для нее.

0 голосов
/ 11 апреля 2010

Вы пытались перейти к ссылкам в вашем проекте, щелкнуть правой кнопкой мыши, добавить ссылку, а затем перейти к DLL. Я думаю, что Visual Studio создаст для вас Runtime Callable Wrapper.

...