Элемент <channel> (экземпляр)
Этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для разработки новых приложений. Сейчас распределенные приложения следует создавать с помощью Windows Communication Foundation (WCF).
Настраивает канал, который используется приложением для взаимодействия с удаленными объектами. Можно также объявить и настроить новый канал, который не является шаблоном канала. Этот элемент может встречаться в файле конфигурации приложения и в файле конфигурации компьютера.
Schema Hierarchy
<configuration>
Элемент <system.runtime.remoting>
Элемент <application>
Элемент <channels> (экземпляр)
Элемент <channel> (экземпляр)
Синтаксис
<!-- Either reference a channel template -->
<channel
ref="channelRef"
displayName="name"
port="port"
/>
<!-- Or declare a particular channel instance -->
<channel
type="ChannelType, ChannelAssembly"
displayName="name"
port="port"
customChannelProperty="propertyValue"
/>
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
ref |
Необязательный атрибут. Задает значение id шаблона канала, который планирует зарегистрировать и использовать клиент. Если атрибут ref задан, задавать атрибут type не требуется. Система удаленного взаимодействия .NET Framework обеспечивает три реализации каналов: "http", "tcp" и "ipc". Дополнительные сведения о выборе реализации канала см. в разделе Выбор канала. |
displayName |
Необязательный атрибут. Используется средством настройки .NET Framework для создания списка каналов, зарегистрированных этим приложений. Система удаленного взаимодействия .NET Framework не использует этот атрибут. |
type |
Необязательный атрибут. Указывает полное имя типа канала и имя сборки, в которой расположена реализация канала. Включат версию, язык и региональные параметры, а также сведения об открытом ключе, если соответствующая сборка входит в глобальный кэш сборок. Данный атрибут является обязательным, если не используется атрибут ref. Система удаленного взаимодействия .NET Framework обеспечивает три реализации каналов: "http", "tcp" и "ipc". Дополнительные сведения о выборе реализации канала см. в разделе Выбор канала. |
port |
Необязательный атрибут. Указывает соответствующий атрибут порта. Атрибут порта можно задать здесь, если, например, канал должен ожидать передачи данных через этот порт. Для некоторых каналов, например для TcpChannel, задавать порт обязательно. У других каналов, например у HttpChannel, имеются порты по умолчанию, поэтому для них этот атрибут не является обязательным. Если при построении клиента задать номер порта 0 (ноль), система удаленного взаимодействия .NET Framework сама выберет подходящий порт. Если номер порта для клиентского канала не задан, клиент не сможет получать функции обратного вызова от удаленного объекта. |
portName |
Обязательный атрибут для каналов IpcChannel и IpcServerChannel. Задает имя порта, предоставляемого сервером. |
<customChannelProperty> |
Необязательный атрибут. Задает поддерживаемое пользовательское свойство канала. Можно задать любое число свойств канала, которые могут поддерживаться каналом. Для пользовательского свойства канала задается пара «атрибут-значение». Например:
|
useIpAddress |
Логическое значение (true или false), которое определяет, следует ли использовать при публикации URL-адреса IP-адрес, а не имя компьютера. Например, беспроводные сети часто меняют IP-адреса портативных компьютеров при их перемещении по сети. Задание в данном случае значения false приводит к тому, что вместо адреса используется имя компьютера, поэтому при перемещении компьютера удаленное взаимодействие не прерывается. Значение по умолчанию — true. Это значение можно переопределить с помощью свойства machineName, если это свойство используется для канала сервера. |
machineName |
Строка, которая задает имя компьютера, используемое с текущим каналом. При использовании с серверным каналом переопределяет элемент useIpAddress. Примечание. Рекомендуется использовать DNS-имя компьютера, но если IP-адрес конкретной сетевой карты (обычно беспроводной) часто меняется, необходимо настроить приложение таким образом, чтобы для поиска компьютера в DNS при удаленном взаимодействии использовался параметр machineName. Если же выполнить разрешение имени компьютера за разумное время не удается (или вообще не удается) и у компьютера имеется более одной сетевой карты, как физической, так и виртуальной (это часто происходит при использовании коммутируемого соединения или сетевого адаптера VPN), необходимо задать в качестве значения свойства machineName IP-адрес сетевой карты, которая в настоящий момент используется для данного соединения. |
Дочерние элементы
Элемент | Описание |
---|---|
Содержит поставщики приемников каналов для приемников, которые вставляются в цепочку вызовов приемников канала на стороне сервера. Если этот параметр задан, он полностью переопределяет значения по умолчанию для данного канала. Может указываться в элементе <channel> один раз. |
|
Содержит поставщики приемников каналов для приемников, которые вставляются в цепочку вызовов приемников канала на стороне клиента. Если этот параметр задан, он полностью переопределяет значения по умолчанию для данного канала. Может указываться в элементе <channel> один раз. |
Родительские элементы
Элемент | Описание |
---|---|
application |
Содержит сведения об удаленных объектах, которые использует и предоставляет приложение. |
channels |
Содержит каналы, которые используются приложением для взаимодействия с удаленными объектами. В этом элементе настраиваются шаблоны каналов или объявляются новые каналы, которые будут использоваться указанным приложением. |
configuration |
Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями платформы .NET Framework. |
system.runtime.remoting |
Содержит сведения об удаленных объектах и каналах. |
Замечания
Предоставляемые системой каналы HttpChannel, TcpChannel и IpcChannel задаются в файле конфигурации компьютера. Их атрибуты id имеют значения "http", "tcp" и "ipc" соответственно.
Примеры
В следующем файле конфигурации объявляется расположение удаленного типа для клиентского приложения. Экземпляр элемента <channels> указывает, что система удаленного взаимодействия платформы .NET Framework должна найти подходящий порт, который будет использоваться для подключения к серверному объекту, и использовать принятый по умолчанию канал HttpChannel.
<configuration>
<system.runtime.remoting>
<application>
<client>
<wellknown
type="RemoteType, RemoteAssembly"
url="http://computername:8080/RemoteType.rem"
/>
</client>
<channels>
<channel
ref="http"
port="0"
/>
</channels>
</application>
</system.runtime.remoting>
</configuration>
См. также
Справочник
Схема параметров удаленного взаимодействия
HttpChannel
HttpClientChannel
HttpServerChannel
TcpChannel
TcpClientChannel
TcpServerChannel
IpcChannel
IpcClientChannel
IpcServerChannel
Дата сборки: 2010-02-13