Элемент <provider> (шаблон)
Этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для разработки новых приложений. Сейчас распределенные приложения следует создавать с помощью Windows Communication Foundation (WCF).
Содержит шаблон поставщика приемника канала для приемника канала, который вставляется в цепочку приемников канала клиента или сервера. Имеется два варианта иерархии для включения этого элемента. Этот элемент может встречаться в файле конфигурации приложения и в файле конфигурации компьютера.
Schema Hierarchy
<configuration>
Элемент <system.runtime.remoting>
Элемент <channelSinkProviders>
Элемент <clientProviders> (экземпляр)
Элемент <provider> (шаблон)
Синтаксис
<provider
id="ProviderID"
type="ProviderType, ProviderAssembly"
customChannelSinkProperty="customProperty"
/>
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
id |
Обязательный атрибут. Задает строку, идентифицирующую данный поставщик приемника канала. Для привязки к данному поставщику приемника канала также можно использовать эту строку в атрибуте ref. |
type |
Обязательный атрибут. Задает полное имя типа поставщика приемников каналов и имя сборки, содержащей реализацию поставщика. Включает сведения о версии, языке и региональных параметрах, а также об открытом ключе, если соответствующая сборка принадлежит к глобальному кэшу сборок. |
customChannelSinkProperty |
Необязательный атрибут. Задает поддерживаемое свойство пользовательского приемника каналов. Можно задать любое количество свойств поставщиков и приемников каналов, которые могут поддерживаться поставщиками пользовательских приемников и соответствующими приемниками. Для свойства пользовательского приемника каналов задается пара "атрибут-значение". В данном примере:
Атрибут Здесь также можно задать данные поставщика пользовательских приемников. Поддерживается только один уровень узлов. В данном примере:
Дополнительные сведения доступны в виде ICollection объекта SinkProviderData в конструкторе поставщика. |
Дочерние элементы
Нет.
Родительские элементы
Элемент | Описание |
---|---|
channelSinkProviders |
Содержит шаблоны для поставщиков приемников каналов клиента и сервера. На любой поставщик приемника канала, заданный в этом элементе, можно ссылаться везде, где можно регистрировать поставщики приемников каналов. |
clientProviders |
Содержит поставщики для приемников каналов, которые должны стать частью установленной по умолчанию цепочки вызовов приемника канала на стороне клиента для этого шаблона канала, когда он упоминается в другом месте файла конфигурации. Указание поставщиков в любой из следующих позиций переопределяет принятые по умолчанию приемники канала для данного канала; если предполагается добавить любые из принятых по умолчанию приемники каналов в цепочку вызовов приемника канала, необходимо указать их здесь. |
configuration |
Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями платформы .NET Framework. |
system.runtime.remoting |
Содержит сведения об удаленных объектах и каналах. |
Примеры
В следующем файле конфигурации используется элемент экземпляра <provider>, чтобы присвоить объекту HttpChannel поставщики приемника канала propsetter и null, которые были объявлены в элементах шаблона <provider>. Кроме того, поставщик приемника канала "propsetter" создается с использованием свойств настраиваемого поставщика, заданных в качестве атрибутов в элементе экземпляра поставщика и в качестве пар «имя-значение» дочернего атрибута <endpoint>
.
<configuration>
<system.runtime.remoting>
<application>
<client>
<wellknown
type="RemoteType, RemoteAssembly"
url="http://computername:8080/RemoteType.rem"/>
</client>
<channels>
<channel ref="http">
<clientProviders>
<formatter ref="soap"/>
<provider
ref="propsetter"
username="bob"
writeToConsole="true"
>
<endpoint url="contoso.com:9000" someProperty="xyz" />
<endpoint url="contoso.com:9001" someProperty="123" />
</provider>
<provider ref="null" writeToConsole="true" />
</clientProviders>
</channel>
</channels>
</application>
<channelSinkProviders>
<clientProviders>
<provider
id="propsetter"
type="ChannelSinkPropertySetterProvider, SinkAssembly"
/>
<provider
id="null"
type="NullSinkProvider, SinkAssembly"
/>
</clientProviders>
</channelSinkProviders>
<debug loadTypes="true" />
</system.runtime.remoting>
</configuration>
См. также
Справочник
Схема параметров удаленного взаимодействия
Основные понятия
Приемники и цепочки приемников
Дата сборки: 2010-02-13