다음을 통해 공유


<clientProviders> 요소(인스턴스)

구성 파일의 다른 위치에서 이 템플릿을 참조할 때 해당 채널 템플릿에 대한 클라이언트측 기본 채널 싱크 호출 체인의 일부로 사용될 채널 싱크 공급자를 포함합니다. 아래의 두 위치에 공급자를 지정하면 이 채널에 대한 기본 채널 싱크가 재정의됩니다. 기본 채널 싱크 중에서 이 템플릿에 대한 채널 싱크 호출 체인에 삽입할 채널 싱크가 있다면 여기에 함께 지정해야 합니다.

<configuration>

<system.runtime.remoting>

<channels>

<channel>

<clientProviders>

여기에 지정된 공급자는 채널 템플릿이 참조될 때마다 이 채널의 기본 공급자를 재정의합니다.

<configuration>

<system.runtime.remoting>

<application>

<channels>

<channel>

<clientProviders>

여기에 지정된 공급자는 이 채널 인스턴스의 기본 공급자만 재정의합니다.

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

자식 요소

요소 설명

<formatter>

채널 싱크 호출 체인에 삽입할 포맷터 싱크를 포함하며 <clientProviders> 인스턴스 요소에 한 번만 사용할 수 있습니다.

<provider>

채널 싱크 호출 체인에 삽입할 채널 싱크를 포함하며 <clientProviders> 인스턴스 요소에 한 번 이상 사용할 수 있습니다.

설명

이 요소를 채널 템플릿 요소에 사용하면, 표시된 수준의 참조되거나 선언된 모든 공급자는 채널의 기본 공급자를 재정의하며 구성 파일의 다른 위치에서 채널이 참조되는 경우에는 기본 공급자가 됩니다. 이 요소를 사용하면 이 채널의 모든 기본 공급자 및 포맷터가 재정의됩니다. 따라서, 사용자 지정 공급자와 함께 이러한 기본 공급자 및 포맷터를 채널 템플릿의 일부로 사용하기 위해서는 이 채널이 참조될 때 사용할 공급자 및 포맷터를 모두 지정해야 합니다.

이 요소를 채널 인스턴스에 사용하는 경우, 표시된 수준의 참조되거나 선언된 모든 공급자는 이 채널 인스턴스의 기본 채널 공급자만 재정의합니다. 이 인스턴스가 clientProviders를 선언하는 템플릿을 참조하는 경우, 여기에 지정한 공급자는 clientProviders도 모두 재정의합니다.

예제

다음 구성 파일에서는 <channels> 템플릿 요소를 사용하여 id가 "httpbinary"인 HttpChannel을 선언하고 <clientProviders> 템플릿 요소를 사용하여 원격 호출을 serialize하는 BinaryClientFormatterSink를 지정합니다. 그런 다음 <application> 요소 안의 <channel> 인스턴스 요소에 ref="httpbinary"를 지정하여 이 클라이언트 응용 프로그램에서 해당 채널 구성을 사용하도록 요청합니다. 마지막으로, <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)

참고 항목

참조

원격 설정 스키마

개념

싱크 및 싱크 체인

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.