Книга: C# для профессионалов. Том II
Оболочки времени выполнения
Оболочки времени выполнения
Чтобы добавить ссылку на DLL COM при использовании диалогового окна References, IDE VS.NET делает некоторую работу за сценой. В частности, создается компонент прокси .NET для DLL COM и копия DLL COM помещается в каталог проекта .NET.
Вспомните, что компоненты .NET описывают сами себя, в то время как компоненты COM хранят свои описания в реестре. Прокси, который генерирует IDE VS.NET, описывает DLL COM и служит для нее в качестве делегата, пересылая вызовы от клиента .NET через службы COM в DLL COM, которую он обертывает. Клиент .NET не знает, что он вызывает компонент COM; он общается только с прокси и получает данные, которые прокси пересылает обратно из DLL COM.
В терминологии .NET такой прокси называется оболочкой времени выполнения, или RCW. IDE создает DLL, которая имеет такое же имя, как и исходный компонент COM, но является в действительности .NET RCW, которая просто обертывает первоначальный компонент, предоставляя его клиентам .NET через интерфейс .NET, который они могут понять. Интересное дополнительное замечание: IDE VS.NET создает оболочку не только для каждой импортируемой DLL COM, но для каждой DLL COM, на которую ссылается импортированная DLL COM в своем открытом интерфейсе, поэтому в этой папке будет также находиться файл ADODB.dll
, на который в DataAccess.dll
существует ссылка.
В рассматриваемом примере DLL COM, DataAccess.dll
предоставляет методы для вставки, извлечения, обновления и удаления записей в нескольких таблицах базы данных. Так как методы вставки возвращают множества записей ADO, клиентам компонента COM требуется ссылка на библиотеку типов ADO. При импорте DataAccess.dll
среда разработки распознает эту необходимость и автоматически создает также RCW для компонента COM ADO.
- 14.4. Разработка оболочки
- Права для выполнения резервного копирования
- Уменьшение времени, необходимого для резервного копирования и восстановления
- Ограничение времени ожидания для транзакций (Lock timeout)
- Упражнения для самостоятельного выполнения
- 1.4.1. Кодирование во время выполнения
- 7.12. Объективизация времени
- Квант времени
- Формула времени. Тайм-менеджмент на Outlook 2013
- Основания для выполнения проекта
- Полиморфизм на этапе выполнения
- Запуск сценариев на удаленных машинах. Контроль за ходом выполнения таких сценариев