<channel> 요소(템플릿)
이 항목은 이전 버전의 기존 응용 프로그램과의 호환성을 위해 유지되고 있으나 새로운 개발에는 권장되지 않는 레거시 기술에 대해 설명합니다. 분산 응용 프로그램은 이제 WCF(Windows Communication Foundation)를 사용하여 개발됩니다.
응용 프로그램에서 원격 개체와 통신하거나 원격 개체에 대한 요청을 수신하기 위해 지정 또는 구성할 수 있는 채널 템플릿을 포함합니다. 채널을 등록하여 사용할 수 있는 모든 위치에서는 해당 인스턴스 채널 요소의 id 특성을 이 템플릿의 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 Remoting은 런타임에 이 채널을 테스트하여 이 채널이 원격 활성화 URL에 지정된 특정 프로토콜 스키마를 사용한 클라이언트 연결을 지원하는지 여부를 확인합니다. 설정된 값이 없으면 기본값은 false입니다. |
displayName |
선택적 특성입니다. 이 응용 프로그램에서 사용하는 채널 목록을 만들기 위해 .NET Framework 구성 도구에서 사용합니다. .NET Framework Remoting 시스템에서는 이 특성을 사용하지 않습니다. |
id |
필수 특성입니다. 등록시 응용 프로그램에서 채널을 식별하는 데 사용하는 문자열을 제공합니다. 이 채널 템플릿을 참조하기 위해서는 인스턴스 채널 요소의 ref 특성에 이 값을 지정해야 합니다. |
자식 요소
요소 | 설명 |
---|---|
서버측 채널 싱크 호출 체인에 삽입될 싱크에 대한 싱크 공급자를 포함합니다. 이 특성은(지정한 경우) 채널의 기본값을 모두 재정의하며 <channel> 템플릿 요소에 한 번만 사용할 수 있습니다. |
|
클라이언트측 채널 싱크 호출 체인에 삽입될 싱크에 대한 싱크 공급자를 포함합니다. 이 특성은(지정한 경우) 채널의 기본값을 모두 재정의하며 <channel> 템플릿 요소에 한 번만 사용할 수 있습니다. |
부모 요소
요소 | 설명 |
---|---|
channels |
응용 프로그램에서 원격 개체와 통신하는 데 사용하는 채널 템플릿을 포함합니다. 이 요소로 선언하는 채널은 채널이 등록된 모든 위치에서 참조할 수 있습니다. |
configuration |
공용 언어 런타임 및 .NET Framework 응용 프로그램에서 사용하는 모든 구성 파일의 루트 요소입니다. |
system.runtime.remoting |
ASP.NET 구성 섹션의 루트 요소를 지정합니다. |
설명
채널 템플릿은 컴퓨터 구성 파일, 응용 프로그램 파일 또는 **RemotingConfiguration.Configure()**를 호출하여 로드되는 다른 모든 파일 안에 위치할 수 있습니다.
예제
다음 구성 파일에서는 <channels> 템플릿 요소를 사용하여 id 가 "httpbinary"인 HttpChannel을 선언하며 이 채널은 BinaryClientFormatterSink를 사용하여 원격 호출을 serialize합니다. 그런 다음 <application> 요소 안의 <channel> 인스턴스 요소에 ref="httpbinary"
를 지정하여 이 클라이언트 응용 프로그램에서 해당 채널 구성을 사용하도록 요청합니다. 마지막으로 "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