Разница между «традиционным» com и com+ (в сервисах компонентов)
-
23-10-2019 - |
Вопрос
Под «традиционным» способом я имею в виду регистрацию DLL в реестре.
Похоже, есть еще один метод для его настройки, перейдя в приложения MMC-> Component Services-> COM+ и добавив .tlb
файл.
У меня есть библиотека COM, которая поддерживает оба метода. Когда он устанавливается, он регистрируется в реестре как компонент COM, и он работает нормально. Однако, когда я добавил .tlb
Файл с использованием метода компонентов служб, поведение кажется другим, и он начинает выдавать ошибки.
Я подозреваю, что это как-то связано с маршалинг и переносной передачей объектов? (Извините, я действительно нуб в области COM)
Кто -нибудь может указать мне на хороший ресурс, чтобы прояснить мое понимание?
Решение
Com+ (компонентные услуги) предоставляет много инфраструктуры из коробки; Например, COM+ обеспечивает транзакцию, безопасность, объединение объектов и некоторые другие услуги.
Когда вы зарегистрируете компонент COM под Com+, он будет заканчивать процесс »; В этом режиме у вас будет гарантированно прокси между вашим COM -сервером и его клиентами.
Лучшее место, о котором я могу придумать, чтобы узнать больше о COM+, это официальный сайт MS: http://msdn.microsoft.com/en-us/library/ms685978(vs.85).aspx
Другие советы
Согласитесь с предыдущим постом.
Одна вещь, которую нужно добавить: на самом деле регистрация библиотеки типов (.tlb) также является нормальной для COM, не только для COM+. Библиотека типов генерируется автоматически компилятором IDL. Он содержит описание ваших интерфейсов и объектов.
Чтобы вы могли «импортировать» свой компонент COM в какой -то проект, и определение интерфейсов и объектов видно.