Конфигурация удаленного объекта

Этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для разработки новых приложений. Сейчас распределенные приложения следует создавать с помощью Windows Communication Foundation (WCF).

Разработчики, которые публикуют или используют объекты, поддерживающие удаленное взаимодействие, отвечают за настройку системы удаленного взаимодействия .NET таким образом, чтобы приложения, использующие систему удаленного взаимодействия .NET, работали правильно. Для этого можно использовать программные методы, файл конфигурации приложения или файл конфигурации компьютера. Затем администраторы могут использовать средство настройки .NET Framework для указания удаленных клиентов в различных конечных точках или для изменения времени существования активируемых клиентом (<activated>) или сервером (<wellknown>) объектов.

Регистрация классов, поддерживающих удаленное взаимодействие, выполняется путем их размещения в элементе <application>, который является дочерним для элемента <system.runtime.remoting>. Объекты, к которым получает доступ приложение, группируются по удаленному приложению в разделе <client>, который расположен в элементе <application>. Объекты, к которым предоставляет доступ приложение, объявляются в разделе <service> в узле <application>. Если удаленные типы не размещаются в службах IIS, можно указать для приложения атрибут name, который затем войдет в URL-адрес активации, но это ни при каких условиях не является обязательным. Дополнительные сведения о о размещении в службах IIS см. в разделе Размещение удаленных объектов в службах IIS.

Кроме того, средства удаленного взаимодействия платформы .NET не обеспечивают автоматического использования любых значений в файле конфигурации приложения. Для настройки удаленного взаимодействия с использованием файла конфигурации необходимо вызвать метод RemotingConfiguration.Configure. Единственным случаем, в котором домен ведущего приложения автоматически загружает файл конфигурации удаленного взаимодействия, является размещение типа, поддерживающего удаленное взаимодействие, в службах IIS. В этом случае система удаленного взаимодействия .NET автоматически выбирает из файла Web.config только параметры службы. Параметры клиента не учитываются до повторной загрузки файла конфигурации с использованием непосредственного вызова метода RemotingConfiguration.Configure.

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

<конфигурация>

<system.runtime.remoting>

<application>

<время существования>

<channels> (экземпляр)

<channel> (экземпляр)

<serverProviders> (экземпляр)

<provider> (экземпляр)

<formatter> (экземпляр)

<clientProviders> (экземпляр)

<provider> (экземпляр)

<formatter> (экземпляр)

<client>

<wellknown> (экземпляр клиента)

<activated> (экземпляр клиента)

<служба>

<wellknown> (экземпляр службы)

<activated> (экземпляр службы)

<soapInterop>

<interopXmlType>

<interopXmlElement>

<preLoad>

<channels> (шаблон)

<channel> (шаблон)

<serverProviders> (экземпляр)

<provider> (экземпляр)

<formatter> (экземпляр)

<clientProviders> (экземпляр)

<provider> (экземпляр)

<formatter> (экземпляр)

<channelSinkProviders>

<serverProviders> (шаблон)

<provider> (шаблон)

<formatter> (шаблон)

<clientProviders> (шаблон)

<provider> (шаблон)

<formatter> (шаблон)

<debug>

Для использования параметров удаленного взаимодействия необходимо вызвать метод RemotingConfiguration.Configure для файла конфигурации приложения. Обратите внимание, что среда CLR автоматически загружает файл конфигурации компьютера перед загрузкой файла конфигурации приложения. Не вызывайте метод RemotingConfiguration.Configure для файла конфигурации компьютера. Такие действия могут привести к исключениям при повторной загрузке в память уже присутствовавших там объектов.

Конфигурация времени существования

Время существования по умолчанию для всех активируемых клиентом объектов и активируемых сервером объектов Singleton в приложении задается с помощью элемента <lifetime>.

Дополнительные сведения о о программной настройке и основных понятиях времени существования см. в разделе Аренда времени существования.

Элементы экземпляров и элементы шаблонов

С созданием каналов связаны элементы двух типов: элементы шаблонов и элементы экземпляров. Элементы шаблонов используются для объявления канала, поставщика приемника серверного или клиентского канала или модуля форматирования приемника сервера или клиента, которые будут использоваться в рамках того же приложения путем ссылки на атрибут ID элемента шаблона.

42d55ae3.note(ru-ru,VS.100).gifПримечание
При использовании атрибута type в элементе шаблона для создания конфигурации по умолчанию, в которой используется реализуемый системой тип, например BinaryFormatter или HttpChannel, необходимо полностью указать сведения о типе, включая версию, язык и региональные параметры и соглашение о строгом именовании. Данная информация может быть получена из файла machine.config или с помощью служебной программы глобального кэша сборок Gacutil.exe. Это не обязательно, если тип определен в сборке, которая не входит в глобальный кэш сборок, но может быть найдена, или если используется ссылка на тип в элементе экземпляра при использовании атрибута ref.

См. также

Задачи

Как настроить время существования удаленного объекта, активируемого клиентом или сервером
Как настроить каналы

Справочник

System.Runtime.Remoting.RemotingConfiguration Class

Основные понятия

Конфигурация удаленных приложений
Каналы
Регистрация канала
Регистрация на стороне сервера
Регистрация на стороне клиента
Регистрация канала

Другие ресурсы

Регистрация удаленных объектов с использованием файлов конфигурации
Общие сведения о средствах удаленного взаимодействия платформы .NET Framework