Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Тип RemotingConfiguration
Тип RemotingConfiguration
Другим ключевым типом удаленного взаимодействия является тип RemotingConfiguration, который, в соответствии со своим названием, используется для настройки различных параметров приложения удаленного взаимодействия. Вы уже видели этот тип в работе на стороне сервера (при вызове метода RegisterWellKnownServiceType()). Другие заслуживающие внимания статические члены этого типа описываются в табл. 18.5, а возможности применения некоторых из этих членов будут продемонстрированы в оставшейся части этой главы.
Таблица 18.5. Члены типа RemotingConfiguration
Член | Описание |
---|---|
ApplicationId | Возвращает идентификатор приложения, выполняющегося в настоящий момент |
ApplicationName | Возвращает или устанавливает имя приложения удаленного взаимодействия |
ProcessId | Возвращает идентификатор процесса, выполняющегося в настоящий момент |
Configure() | Читает файл конфигурации и устанавливает параметры конфигурации инфраструктуры удаленного взаимодействия |
GetRegisteredActivatedClientTypes() | Возвращает массив объектных типов, зарегистрированных на стороне клиента для удаленной активизации |
GetRegisteredActivatedServiceTypes() | Возвращает массив объектных типов, зарегистрированных на стороне сервиса для активизации по запросу клиента |
GetRegisteredWellKnownClientTypes() | Возвращает массив объектных типов, зарегистрированных на стороне клиента в качестве WKO-типов |
GetRegisteredWellKnownServiceTypes() | Возвращает массив объектных типов, зарегистрированных на стороне сервиса в качестве WKO-типов |
IsWellKnownClientType() | Проверяет, является ли указанный объектный тип зарегистрированным WKO-типом клиента |
RegisterActivatedClientType() | Регистрирует объект на стороне клиента как тип, позволяющий активизацию на сервере |
RegisterWellKnownClientType() | Регистрирует объект на стороне клиента как WKO-тип (синглет или объект одиночного вызова) |
RegisterWellKnownServiceType() | Регистрирует объект на стороне сервиса как WKO-тип (синглет или объект одиночного вызова) |
Напомним, что слой удаленного взаимодействия .NET различает два вида MBR-объектов: WKO (активизируются сервером) и САО (активизируются клиентом). К тому же, WKO-тип может быть активизирован либо как синглет, либо как объект одиночного вызова. Используя функциональные возможности типа RemotingConfiguration, вы можете динамически получить такую информацию в среде выполнения. Например, если добавить в метод Main() приложения SimpleRemoteObjectServer следующие строки программного кода:
static void Main(string[] args) {
…
// Установка понятного имени для данного приложения сервера.
RemotingConfiguration.ApplicationName = "Первое серверное приложение";
Console.WriteLine("Имя приложения: {0}", RemotingConfiguration.ApplicationName);
// Получение массива типов WellKnownServiceTypeEntry,
// представляющих зарегистрированные WKO-объекты.
WellKnownServiceTypeEntry[] WKOs = RemotingConfiguration.GetRegisteredWellKnownServiceTypes();
// Вывод информации.
foreach(WellKnownServiceTypeEntry wko in WKOs) {
Console.WriteLine("Имя блока, содержащего WKO: {0}", wko.AssemblyName);
Console.WriteLine("URL данного WKO: {0}", wko.ObjectUri);
Console.WriteLine("Тип WKO: {0}", wko.ObjectType);
Console.WriteLine("Режим активизации WKO: {0}", wko.Mоde);
}
}
то вы должны увидеть список всех WKO-типов, зарегистрированных доменом приложения сервера. Выполнив цикл по всем элементам массива типов WellKnownServiceTypeEntry, можно выяснить характеристики каждого из WKO-объектов. Поскольку ваше серверное приложение регистрирует только один тип (SimpleRemotingAsm.RemoteMessageObject), вы получите вывод, показанный на рис. 18.5.
Рис. 18.5. Статистика сервера
Другим важным методом типа RemotingConfiguration является метод Configure(). Вскоре вы сможете убедиться, что этот статический член позволяет доменам приложений клиента и сервера использовать файлы конфигурации удаленного взаимодействия.
- Понятие удаленного взаимодействия .NET
- Пространства имен удаленного взаимодействия .NET
- Каркас удаленного взаимодействия .NET
- Термины удаленного взаимодействия .NET
- Инсталляция приложения, использующего удаленное взаимодействие
- Создание распределенного приложения
- Тип ChannelServices
- Тип RemotingConfiguration
- Снова о режиме активизации WKO-типов
- Установка сервера на удаленной машине
- Использование ТСР-каналов
- Несколько слов о IpcChannel
- Файлы конфигурации удаленного взаимодействия
- Работа с MBV-объектами
- Объекты, активизируемые клиентом
- Схема лизингового управления циклом существования САО-типов и WKO-синглетов
- Спонсоры лизинга сервера (и клиента)
- Альтернативные хосты для удаленных объектов
- Асинхронное удаленное взаимодействие
- Резюме
- Снова о режиме активизации WKO-типов
- Типы данных для работы с датой и временем
- Большие целые типы
- Типы страниц и их использование
- 6.2. Типичные ошибки при проведении программ продвижения и варианты их устранения
- Тип данных BIGINT
- Использование CAST() с типами дата
- Новый тип данных: BOOLEAN
- 1.2.3. Константы, переменные и типы
- 4. Лекция: Типы данных
- Использование типов содержимого и столбцов
- 500 типичных проблем и их решений при работе на ПК