Каково Различие между компонентами.NET и COM-компонентами

Что является Различием между компонентами.NET и COM-компонентами, иногда мы используем Компоненты.NET для включения в наши проекты, и иногда мы включаем ссылку COM. Какова идея позади?

20
задан TylerH 30 July 2019 в 19:40
поделиться

4 ответа

Компоненты.NET являются управляемым кодом (распоряжение памяти сделано для Вас),

COM является интерфейсным стандартом для компонентов программного обеспечения. COM-компоненты являются неуправляемым кодом (распоряжение памяти выполняется с помощью подсчета ссылок).

Отсюда:

Как COM и.NET связаны?

COM и.NET являются дополнительными технологиями разработки. Общеязыковая среда выполнения.NET предоставляет двунаправленной, прозрачной интеграции с COM. Это означает, что COM и приложения.NET и компоненты могут использовать функциональность от каждой системы. Это защищает Ваши существующие инвестиции в приложения COM, позволяя Вам использовать в своих интересах.NET в управляемом темпе. COM и.NET могут достигнуть подобных результатов. Платформа.NET предоставляет разработчикам значительное количество преимуществ включая более устойчивую, модель обеспечения безопасности на основе фактических данных, автоматическое управление памятью и собственную поддержку веб-сервисов. Для новой разработки Microsoft рекомендует.NET как предпочтительную технологию из-за ее мощной управляемой среды выполнения и сервисов.

13
ответ дан 30 November 2019 в 00:55
поделиться

COM-компоненты являются неуправляемыми компонентами кода C++, разработанными для создания программного обеспечения допускающим повторное использование на двоичном уровне. СЕТЕВЫЕ компоненты подобны, хотя 1) они могут быть созданы на языках CLR, в то время как COM-компоненты могут быть созданы с C++ 2), Они предназначены для выполнения под управляемым временем выполнения. Я думаю, что это - существенные различия.

Править:

C++ является самым "естественным" языком в COM, но COM-компоненты могут быть созданы на МНОГИХ языках. Спасибо за людей комментариев.

6
ответ дан 30 November 2019 в 00:55
поделиться

Компоненты.NET работают в CLR, тогда как COM-компоненты являются чрезвычайно собственным Windows DLL.

Компоненты.NET также выставляют значительно больше метаданных, чем COM-компоненты. Эта модернизация была предпринята частично для создания компонентов более совместимыми. В частности, компоненты.NET не делают определенные для платформы предположения о формате данных и соглашениях о вызовах.

Посмотрите поле Дона.

5
ответ дан 30 November 2019 в 00:55
поделиться

Еще некоторая информация об этой теме

CCW: http://msdn.microsoft.com/en-us/library/f07c8z1c.aspx

RCW: http://en.wikipedia.org/wiki/Runtime_Callable_Wrapper

1
ответ дан 30 November 2019 в 00:55
поделиться