(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Руководство разработчика по .NET Framework. Обзор надстройки

Модель программирования .NET Framework для надстроек поддерживает разработку конвейера взаимодействия, который разрешает размещение надстроек в различных настраиваемых сценариях.

 

Модель надстроек состоит из ряда сегментов, из которых состоит конвейер надстройки (также известный как конвейер взаимодействия), который ответственен за все взаимодействие между надстройкой и основным приложением. Конвейер - это симметричная модель взаимодействия сегментов, которые обмениваются данными между надстройкой и основным приложением. Разработка этих сегментов между основным приложением и надстройкой предоставляет требуемые уровни абстракции, которые поддерживают управление версиями и изоляцию надстройки.

На следующем рисунке показан конвейер.

Конвейер надстройки
Модель конвейера надстройки.

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

Модель надстройки поддерживает рекомендованные, но необязательные границы между основным приложением и надстройкой, которая называется границей изоляции (или границей удаленного взаимодействия). Эта граница может быть границей домена приложения или процесса.

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

Чтобы пройти границы изоляции, типы должны быть или контрактами, или сериализуемыми типами. Типы, которые не являются ни тем, ни другим, должны быть преобразованы в контракты сегментами адаптера в конвейере.

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

В следующих разделах описываются функциональные возможности модели надстройки.

Независимое управление версиями

Модель надстроек позволяет раздельно управлять версиями основных приложений и надстроек. В результате в модели надстроек допускаются следующие сценарии:

  • Создание адаптера, который позволяет основному приложению использовать надстройку, созданную для предыдущей версии основного приложения.

  • Создание адаптера, который позволяет основному приложению использовать надстройку, созданную для следующей версии основного приложения.

  • Создание адаптера, который позволяет основному приложению использовать надстройки, созданные для другого основного приложения.

Обнаружение и активация

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

Уровни изоляции и внешние процессы

Модель надстроек поддерживает несколько уровней изоляции надстройки от своего основного приложения и других надстроек. Ниже приведены эти уровни, начиная с наименее изолированного:

  • Надстройка находится в том же домене приложения, что и основное приложение. Такой подход не рекомендуется, потому что отсутствует изоляция и возможности выгрузки, которые появляются при использовании разных доменов приложения.

  • Несколько надстроек загружаются в один домен приложения, который отличается от домена приложения основного приложения.

  • Каждая надстройка загружается отдельно в свой собственный домен приложения. Это наиболее распространенный уровень изоляции.

  • Несколько надстроек загружаются в один домен приложения во внешнем процессе.

  • Каждая надстройка загружается отдельно в свой собственный домен приложения в отдельном процессе. Это сценарий наибольшей изоляции.

Управление жизненным циклом объекта

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

 Отличия между надстройками и основными приложениями

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

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 30.03.2010 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft 365 Business Standard (corporate)
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft 365 Apps for business (corporate)
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft 365 Business Basic (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Компьютерный дизайн - Все графические редакторы
Все о PHP и даже больше
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100