Элемент <channel> (шаблон)
Этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для разработки новых приложений. Сейчас распределенные приложения следует создавать с помощью Windows Communication Foundation (WCF).
Содержит шаблон канала, который приложение может указать и настроить для взаимодействия или ожидания запросов удаленных объектов. Везде, где можно зарегистрировать для использования канал, можно задать атрибут id элемента channel этого экземпляра в атрибуте ref этого шаблона. Этот элемент может встречаться в файле конфигурации приложения и в файле конфигурации компьютера.
Schema Hierarchy
<configuration>
Элемент <system.runtime.remoting>
Элемент <channels> (шаблон)
Элемент <channel> (шаблон)
Синтаксис
<channel
id="channelID"
type="ChannelType, ChannelAssembly"
displayName="displayName"
customChannelProperty="customChannelValue"
<!-- Available only to client configurations -->
delayLoadAsClientChannel="true|false"
/>
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
customChannelProperty |
Необязательный атрибут. Задает поддерживаемое пользовательское свойство канала. Можно задать любое число свойств канала, которые могут поддерживаться каналом. Для пользовательского свойства канала задается пара "атрибут-значение". Например:
|
delayLoadAsClientChannel |
Необязательный атрибут. Указывает, нужно ли загружать этот канал, если клиент не зарегистрировал канал для приложения. Атрибут имеет логическое значение и влияет только на работу клиента. Значение true указывает, что система удаленного взаимодействия .NET Framework должна проверить этот канал во время выполнения, чтобы узнать, поддерживает ли он подключение клиентов с помощью конкретного протокола, заданного в URL-адресе уделенной активации. Если значение не указано, используется значение по умолчанию false. |
displayName |
Необязательный атрибут. Используется средством настройки .NET Framework для создания списка каналов, используемых этим приложений. Система удаленного взаимодействия .NET Framework не использует этот атрибут. |
id |
Обязательный атрибут. Задает строку, которая используется приложениями для определения канала при регистрации. Чтобы задать ссылку на данный шаблон канала, укажите этот атрибут в качестве значения атрибута ref в элементе экземпляра channel. |
Дочерние элементы
Элемент | Описание |
---|---|
Содержит поставщики приемников каналов для приемников, которые вставляются в цепочку вызовов приемников канала на стороне сервера. Если этот параметр задан, он полностью переопределяет значения по умолчанию для данного канала. Может указываться в элементе шаблона <channel> один раз. |
|
Содержит поставщики приемников каналов для приемников, которые вставляются в цепочку вызовов приемников канала на стороне клиента. Если этот параметр задан, он полностью переопределяет значения по умолчанию для данного канала. Может указываться в элементе шаблона <channel> один раз. |
Родительские элементы
Элемент | Описание |
---|---|
channels |
Содержит шаблоны канала, которые используются приложением для взаимодействия с удаленными объектами. Каналы, объявленные в рамках этого элемента, доступны для ссылки в любой системе, в которой зарегистрирован канал. |
configuration |
Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями платформы .NET Framework. |
system.runtime.remoting |
Задает корневой элемент для раздела конфигурации ASP.NET. |
Замечания
Шаблоны каналов могут указываться в файле конфигурации компьютера, файле приложения или в любом другом файле, загружаемом с помощью вызова метода RemotingConfiguration.Configure().
Примеры
В следующем файле конфигурации элемент шаблона <channels> используется для объявления HttpChannel с id httpbinary, который использует BinaryClientFormatterSink для сериализации удаленных вызовов. Затем в нем указывается, что это клиентское приложение должно использовать конкретную конфигурацию канала путем указания ref="httpbinary"
в элементе экземпляра <channel> в рамках элемента <application>. Наконец, добавляется поставщик приемника канала «propsetter» и передаются некоторые пользовательские элементы конфигурации, которые будут использоваться этим поставщиком приемника канала. Обратите внимание, что при любом использовании атрибута type для указания типа в сборке, находящейся в глобальном кэше сборок, требуется указывать полную информацию о типе, включая версию, язык и региональные параметры, а также сведения об открытом ключе. Эти сведения не указаны в атрибутах type в следующем примере только для краткости изложения.
<configuration>
<system.runtime.remoting>
<channelSinkProviders>
<clientProviders>
<provider
id="propsetter"
type="ChannelSinkPropertySetterProvider, PropsSink"
/>
</clientProviders>
<channels>
<channel
type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, ...."
id="httpbinary"
>
<clientProviders>
<formatter type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, ...."
/>
</clientProviders>
</channel>
</channels>
<application>
<channels>
<channel ref="httpbinary">
<clientProviders>
<provider
ref="propsetter"
username="somename"
writeToConsole="true"
>
<endpoint url="contoso.com:9000" someProperty="xyz" />
<endpoint url="contoso.com:9001" someProperty="123" />
</provider>
</clientProviders>
</channel>
</channels>
<client>
<wellknown
url="http://computername:80/RemoteType.rem"
type="RemoteType, RemoteAssembly"
/>
</client>
</application>
</system.runtime.remoting>
</configuration>
См. также
Справочник
Схема параметров удаленного взаимодействия
HttpChannel
HttpClientChannel
HttpServerChannel
TcpChannel
TcpClientChannel
TcpServerChannel
Дата сборки: 2010-02-13