Оглавление:
- Определение - Что означает Runtime Callable Wrapper (RCW)?
- Techopedia объясняет время выполнения Callable Wrapper (RCW)
Определение - Что означает Runtime Callable Wrapper (RCW)?
Вызываемая оболочка времени выполнения (RCW) - это объект оболочки, сгенерированный общеязыковой средой исполнения (CLR) для инкапсуляции объекта объектной модели компонентов (COM) для представления его в виде сборки .NET.
RCW выступает в качестве основного интерфейса для клиента .NET, который должен взаимодействовать с компонентом COM путем маршалинга вызовов между ними. Он формирует оболочку метаданных, которая предоставляет COM-компоненты для CLR. Он помогает существующим контейнерам ActiveX размещать элементы управления .NET и помогает приложениям .NET Windows Forms размещать контейнеры ActiveX. RCW также полезен в бизнес-системах, которые были построены с использованием компонентов COM, что позволяет интегрировать их старый унаследованный код с недавно разработанными компонентами .NET без ущерба для производительности.
Techopedia объясняет время выполнения Callable Wrapper (RCW)
COM-компонент - это двоичный объект многократного использования, который предоставляет свои услуги путем публикации интерфейсов, через которые происходит связь с его клиентами. Определение интерфейсов или двоичных контрактов компонента COM указывается в библиотеке типов интерфейсов. В отличие от COM, связь между объектами .NET основана на объектах, а не на интерфейсах. RCW действует как мост между компонентами COM и объектами .NET для маршрутизации операций и посредничества между ними путем маршалинга.
RCW управляет временем жизни своего инкапсулированного COM-объекта. При передаче ссылки между двумя доменами приложений или квартирами будет использоваться прокси объекта. Создание RCW основано на метаданных, полученных из библиотеки типов. Его уничтожение происходит во время сбора мусора. Маршалинг с помощью RCW включает преобразование аргументов метода и возвращаемых значений таким образом, чтобы они были представлены способом, который может быть прочитан как клиентом, так и сервером. Примером маршалинга может быть преобразование, которое имеет место для строкового аргумента, который должен быть передан как тип BSTR для компонента COM, тогда как это должно быть строковым типом в клиенте .NET.
RCW может быть создан с использованием Visual Studio, которая использует средство автоматической генерации кода, делая процесс простым и прозрачным для пользователя. Кроме того, сборка RCW содержит метаданные для типов, определенных в библиотеке типов компонента, который можно создать с помощью инструмента tlbimp.exe из командной строки.
Это определение было написано в контексте .NET