Элемент <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>

Необязательный атрибут.

Задает поддерживаемое пользовательское свойство канала. Можно задать любое число свойств канала, которые могут поддерживаться каналом. Для пользовательского свойства канала задается пара «атрибут-значение». Например:

<channel 
   ref="CustomChannel" 
   port="61000"   customProperty="PropertyValue" 
/>

useIpAddress

Логическое значение (true или false), которое определяет, следует ли использовать при публикации URL-адреса IP-адрес, а не имя компьютера. Например, беспроводные сети часто меняют IP-адреса портативных компьютеров при их перемещении по сети. Задание в данном случае значения false приводит к тому, что вместо адреса используется имя компьютера, поэтому при перемещении компьютера удаленное взаимодействие не прерывается. Значение по умолчанию — true. Это значение можно переопределить с помощью свойства machineName, если это свойство используется для канала сервера.

machineName

Строка, которая задает имя компьютера, используемое с текущим каналом. При использовании с серверным каналом переопределяет элемент useIpAddress.

Примечание. Рекомендуется использовать DNS-имя компьютера, но если IP-адрес конкретной сетевой карты (обычно беспроводной) часто меняется, необходимо настроить приложение таким образом, чтобы для поиска компьютера в DNS при удаленном взаимодействии использовался параметр machineName. Если же выполнить разрешение имени компьютера за разумное время не удается (или вообще не удается) и у компьютера имеется более одной сетевой карты, как физической, так и виртуальной (это часто происходит при использовании коммутируемого соединения или сетевого адаптера VPN), необходимо задать в качестве значения свойства machineName IP-адрес сетевой карты, которая в настоящий момент используется для данного соединения.

Дочерние элементы

Элемент Описание

<serverProviders>

Содержит поставщики приемников каналов для приемников, которые вставляются в цепочку вызовов приемников канала на стороне сервера. Если этот параметр задан, он полностью переопределяет значения по умолчанию для данного канала. Может указываться в элементе <channel> один раз.

<clientProviders>

Содержит поставщики приемников каналов для приемников, которые вставляются в цепочку вызовов приемников канала на стороне клиента. Если этот параметр задан, он полностью переопределяет значения по умолчанию для данного канала. Может указываться в элементе <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