Книга: C# для профессионалов. Том II
Развертывание сборки для служб COM+
Развертывание сборки для служб COM+
Развертывание сборки, использующейся со службами COM+, будет ненамного труднее, чем развертывание любой другой сборки .NET.
Первое: необходимо предоставить сборке сильное имя. Это делается с помощью утилиты sn.exe
из SDK .NET (см. главу 10). sn.exe
будет выводить файл сильного имени, на который можно ссылаться из командной строки, когда сборка компилируется, чтобы встроить сильное имя в компилированную сборку.
Второе: необходимо зарегистрировать сборку в глобальном кэше сборок (см. главу 10).
Если сборку будут использовать только управляемые клиенты (то есть, клиенты .NET), никаких дополнительных усилий по развертыванию не требуется. Когда управляемый клиент создает в сборке экземпляр обслуживаемого класса, CLR использует атрибуты в сборке для автоматической регистрации компонента в службах COM+.
Однако, если классы в сборке используются неуправляемым кодом, необходимо самостоятельно явно зарегистрировать сборку в службах COM+ до выполнения любой клиентской программы. Программа для выполнения этой регистрации, RegSvcs.exe
, предоставляется компанией Microsoft как часть SDK .NET. Когда RegSvcs
выполняется на компоненте .NET, она создает приложение COM+ с именем, указанным атрибутом ApplicationName
в сборке, и импортирует сборку в него.
Для чего же требуется RegSvcs.exe?
Как можно помнить из предыдущей главы по взаимодействию COM, сборки .NET имеют архитектуру, отличную от архитектуры компонентов COM. Задача RegSvcs.exe
состоит в разрешении этих различий, чтобы сборки .NET удовлетворяли интерфейсу, ожидаемому службами COM+. Чтобы выполнить свою работу, утилита RegSvcs.exe
проделывает четыре вещи.
1. Загружает и регистрирует сборку .NET.
2. Создает библиотеку типов для сборки .NET.
3. Импортирует библиотеку типов в приложение служб COM+.
4. Использует метаданные внутри DLL, чтобы правильно сконфигурировать библиотеку типов внутри приложения служб COM+.
RegSvcs
не только заботится обо всех деталях импортирования сборки в службы COM+, но предоставляет также достаточно хороший контроль за тем, как это происходит. Этот контроль обеспечивается в форме дополнительных параметров командной строки. Вот синтаксис команды:
Regsvcs .NetComponentName [COM+AppName] [TypeLibrary.tlb]
С помощью второго аргумента (COM+AppName
) можно определить другое имя для создаваемого приложения COM+, предоставляя второй аргумент командной строки при вызове RegSvcs
. Для еще большей гибкости можно определить имя файла библиотеки типов, которая создается при предоставлении третьего аргумента (TypeLibrary.tlb
). Желательно всегда предоставлять эти аргументы при вызове RegSvcs
, так как более ранние версии этой программы будут молчаливо перезаписывать любые существующие файлы, которые могут иметь такие же имена, как у вновь создаваемых файлов.
- Глава 8 Дополнительные службы
- 5.6 Служба теневого копирования томов в Windows ХР и Windows Server 2003
- Развертывание на сервере
- Службы Windows SharePoint
- Версии служб Windows SharePoint
- Стоит ли заниматься отключением ненужных служб при большом объеме оперативной памяти?
- При попытке создать пользователя или добавить его в группу появляется сообщение Служба Сервер не запущена
- 4.7. Защита служб
- 2.4.3 Служба имен DMS
- Приложение C Центры сетевой информации и другие службы
- Глава 3. Модель для сборки
- Управляющий менеджер служб