Поделиться через


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

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

Содержит поставщики для приемников каналов, которые должны стать частью установленной по умолчанию цепочки вызовов приемника канала на стороне клиента для этого шаблона канала, когда он упоминается в другом месте файла конфигурации. Указание поставщиков в любой из следующих позиций переопределяет принятые по умолчанию приемники канала для данного канала; если предполагается добавить любые из принятых по умолчанию приемники каналов в цепочку вызовов приемника канала, необходимо указать их здесь.

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

<system.runtime.remoting>

<каналы>

<канал>

<clientProviders>

Указанные здесь поставщики переопределяют принятые по умолчанию поставщики этого канала, когда упоминается этот шаблон канала.

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

<system.runtime.remoting>

<application>

<каналы>

<канал>

<clientProviders>

Здесь поставщики могут переопределять принятые по умолчанию поставщики только для данного экземпляра канала.

<clientProviders> 
      <formatter/> 
      <provider/> 
</clientProviders>

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

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

<formatter>

Содержит приемник модуля форматирования для вставки в цепочку вызовов приемника канала. Может указываться в элементе экземпляра <clientProviders> один раз.

<provider>

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

Замечания

При использовании в элементе шаблона канала все объявленные и упоминаемые поставщики на заданном уровне переопределяют принятые по умолчанию поставщики канала и становятся поставщиками по умолчанию, если где-либо в файле конфигурации указана ссылка на канал. Важно помнить, что при использовании данного элемента переопределяются все принятые по умолчанию поставщики или модули форматирования для данного канала. Если необходимо включить поставщики и модули форматирования в шаблон канала в дополнение к любым пользовательским поставщикам, необходимо указать все поставщики и модули форматирования, которые должны использоваться при ссылке на данный канал.

При использовании в экземпляре канала все объявленные поставщики и поставщики, на которые приводятся ссылки, будут переопределять принятые по умолчанию поставщики канала и станут поставщиками по умолчанию только для данного экземпляра канала. Если этот экземпляр ссылается на шаблон, в котором определен элемент clientProviders, то поставщики, указанные в описании шаблона, также будут переопределены.

Примеры

В следующем файле конфигурации используется элемент шаблона <channels> для объявления HttpChannel с id httpbinary и элемент шаблона <clientProviders> для указания BinaryClientFormatterSink для сериализации удаленных вызовов. Затем в нем указывается, что это клиентское приложение должно использовать конкретную конфигурацию канала путем указания ref="httpbinary" в элементе экземпляра <channel> в рамках элемента <application>. Наконец, элемент экземпляра <clientProviders> используется для добавления поставщика приемника канала 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" someProp="xyz" />
                     <endpoint url="contoso.com:9001" someProp="123" />
                  </provider>
               </clientProviders>
            </channel>
         </channels>
         <client>
            <wellknown 
               url="http://computername:80/RemoteType.rem"                type="RemoteType, RemoteAssembly"
            />
         </client>
      </application>
   </system.runtime.remoting>
</configuration>

Системные требования

Файл конфигурации: файл конфигурации приложения, файл конфигурации компьютера (Machine.config)

См. также

Справочник

Схема параметров удаленного взаимодействия

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

Приемники и цепочки приемников

Дата сборки: 2010-02-13