пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ


Взаимодействие сборки с неуправляемым кодом. Развертывание сборок. Совместное исполнение сборок. Понятие домена.

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

 Взаимодействие с кодом:

— управляемый код может вызывать направляемую функцию из DLL посредствам P/Invoke (например CreateSemaphore из Kernel32.dll).

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

— неуправляемый код может использовать управляемый тип (сервер). Можно реализовать COM — компоненты в управляемой среде и тогда не нужно вести подсчет ссылок интерфейсов.

Развертывание сборки может быть закрытым или глобальным. Сборку с закрытым развертыванием развертывают в базовом каталоге приложения или в одном из его подкаталогов. Для сборки с нестрогим именем возможно лишь закрытое развертывание. Сборку с глобальным развертыванием развертывают в каком-либо общеизвестном каталоге, который CLR проверяет при поиске сборок. Такие сборки можно развертывать как закрыто, так и глобально.

Простейшая сборка представляет собой один файл, имеющий простое имя и загружаемый в единственный домен приложения. На эту сборку нельзя ссылаться из других сборок, находящихся вне папки приложения; кроме того, к ней неприменим механизм проверки версий. Для удаления приложения, состоящего из сборки, достаточно просто удалить папку, в которой оно располагается. Для большинства разработчиков сборки с такими возможностями достаточно для развертывания приложения.

Многофайловую сборку можно создать на основе нескольких модулей кода и файлов ресурсов. Кроме того, можно создать сборку, которая будет совместно использоваться несколькими приложениями. Совместно используемая сборка должна иметь строгое имя и должна быть развернута в глобальном кэше сборок.

Исполнение сборки осуществляется на IL(Common Intermediate Language CIL, который часто называют MCIL или IL)— машинном языке, не зависящем от процессора. IL — язык более высокого уровня в сравнении с большинством других машинных языков.

В .NET исполняемые файлы не обслуживаются прямо внутри процесса Windows, как это происходит в случае традиционных неуправляемых приложений. Вместо этого они обслуживаются в отдельном логическом разделе внутри процесса, который называется доменом приложения.

 

 


14.01.2019; 12:07
хиты: 846
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь