Разница между "традиционным" COM и COM+ (в службах компонентов)

Под "традиционным" способом я подразумеваю регистрацию DLL в реестре.

Кажется, есть другой способ настроить его, перейдя в mmc->Component Services->COM+ Applications и добавив .tlb файл.

У меня есть библиотека COM, которая поддерживает оба метода. При установке он регистрируется в реестре как компонент COM и работает нормально. Тем не менее, когда я добавил .tlb При использовании метода Component Services поведение кажется другим и он начинает выдавать ошибки.

Я подозреваю, что это как-то связано с маршалингом и передачей объектов между процессами? (Извините, я действительно нуб в области COM)

Может кто-нибудь указать мне хороший ресурс, чтобы очистить мое понимание?

3 ответа

Решение

COM+ (Component Services) предоставляет много инфраструктуры из коробки; например COM + обеспечивает транзакции, безопасность, пул объектов и некоторые другие услуги.

Когда вы регистрируете COM-компонент под COM +, он запускается "Out Of Process"; в этом режиме вы гарантированно имеете прокси между вашим COM-сервером и его клиентами.

Лучшее место, где я могу больше узнать о COM +, - это официальный сайт MS: http://msdn.microsoft.com/en-us/library/ms685978(VS.85).aspx

Надеюсь это поможет.

COM - это объектная модель компонентов, которая используется на локальном компьютере, но COM+ - это функция Comx ActiveX. означает, что он может быть использован как удаленно.

COM+ - это эволюция объектной модели компонентов (COM) и сервера транзакций Microsoft (MTS). DCOM: Распределенный-COM. Протокол, который позволяет создавать экземпляр COM-объекта на другом компьютере с того, который использует код

МТС: сервер транзакций Microsoft. Как MS координирует транзакции на нескольких серверах.

COM+ выполняет многие задачи по управлению ресурсами, которые вам ранее приходилось программировать самостоятельно, такие как распределение потоков и безопасность. COM+ также делает ваши приложения более масштабируемыми, обеспечивая пул потоков, пул объектов и своевременную активацию объектов

COM+ может быть использован для разработки распределенных приложений для Windows.

Если вы программист приложений, вы будете писать компоненты и интегрировать их как приложения. COM+ предназначен в первую очередь для разработчиков Microsoft Visual C++ и Microsoft Visual Basic.

Согласитесь с предыдущим постом.

Одна вещь, которую нужно добавить: регистрация библиотеки типов (файл.tlb) является нормой и для COM, а не только для COM+. Библиотека типов генерируется автоматически компилятором IDL. Он содержит описание ваших интерфейсов и объектов.

Так что вы можете "импортировать" ваш COM-компонент в какой-то проект, и определения интерфейсов и объектов будут видны.

Другие вопросы по тегам