<channel> 요소(인스턴스)

이 항목은 이전 버전의 기존 응용 프로그램과의 호환성을 위해 유지되고 있으나 새로운 개발에는 권장되지 않는 레거시 기술에 대해 설명합니다. 분산 응용 프로그램은 이제 WCF(Windows Communication Foundation)를 사용하여 개발됩니다.

응용 프로그램에서 원격 개체와 통신하는 데 사용하는 채널을 구성합니다. 이 요소를 사용하여 채널 템플릿이 아닌 새 채널을 선언하고 구성할 수도 있습니다. 이 요소는 응용 프로그램 구성 파일과 컴퓨터 구성 파일에 사용할 수 있습니다.

Schema Hierarchy

<configuration>
  <system.runtime.remoting> 요소
    <application> 요소
      <channels> 요소(인스턴스)
        <channel> 요소(인스턴스)

구문

<!-- Either reference a channel template --> 
<channel  
   ref="channelRef" 
   displayName="name"
   port="port"
/>
<!-- Or declare a particular channel instance -->
<channel 
   type="ChannelType, ChannelAssembly"
   displayName="name"
   port="port"
   customChannelProperty="propertyValue"
/>

특성 및 요소

다음 단원에서는 특성, 자식 요소 및 부모 요소에 대해 설명합니다.

특성

특성 설명

ref

선택적 특성입니다.

클라이언트에서 등록하여 사용하려는 채널 템플릿의 id를 나타냅니다. ref 특성을 설정하면 type 특성을 지정하지 않아도 됩니다.

.NET Framework Remoting에서는 "http", "tcp" 및 "ipc"의 세 가지 채널을 구현합니다. 채널 구현을 선택하는 방법에 대한 자세한 내용은 채널 선택을 참조하십시오.

displayName

선택적 특성입니다.

이 응용 프로그램이 등록한 채널 목록을 만들기 위해 .NET Framework 구성 도구에서 사용합니다. .NET Framework Remoting 시스템에서는 이 특성을 사용하지 않습니다.

type

선택적 특성입니다.

채널의 전체 형식 이름 및 채널 구현이 있는 어셈블리의 이름을 나타냅니다. 포함하는 어셈블리가 전역 어셈블리 캐시에 있는 경우 버전, 문화권 및 공개 키 정보도 여기에 포함됩니다. 이 특성은 ref 특성을 사용하지 않는 경우에만 필수적입니다.

.NET Framework Remoting에서는 "http", "tcp" 및 "ipc"의 세 가지 채널을 구현합니다. 채널 구현을 선택하는 방법에 대한 자세한 내용은 채널 선택을 참조하십시오.

port

선택적 특성입니다.

적절한 port 특성을 나타냅니다. 여기에 port 특성을 지정하면 예를 들어, 포트를 사용하여 채널이 수신하도록 지정할 수 있습니다. TcpChannel 같은 일부 채널에는 포트를 지정해야 하며 HttpChannel 같은 다른 채널에는 기본 포트가 이미 지정되어 있어 이 특성을 사용하지 않아도 됩니다. 클라이언트를 빌드할 때 포트를 0으로 지정하면 .NET Framework Remoting 시스템에서 적절한 포트를 자동으로 선택합니다. 클라이언트 채널 포트를 지정하지 않으면 클라이언트에서는 원격 개체로부터 콜백 함수를 수신하지 못합니다.

portName

IpcChannel 또는 IpcServerChannel에 대한 필수 속성입니다. 서버가 노출하는 포트의 이름을 지정합니다.

<customChannelProperty>

선택적 특성입니다.

지원되는 사용자 지정 채널 속성을 나타냅니다. 채널에서 지원하는 채널 속성 수는 원하는 만큼 지정할 수 있습니다. 사용자 지정 채널 속성에는 특성/값 쌍이 지정됩니다. 예를 들면 다음과 같습니다.

<channel 
   ref="CustomChannel" 
   port="61000"   customProperty="PropertyValue" 
/>

useIpAddress

게시 URL에서 컴퓨터 이름 대신 IP 주소를 사용할지 여부를 지정하는 부울 값(true 또는 false)입니다. 예를 들어, 무선 네트워크에서는 종종 네트워크를 통과할 때 이식 가능한 컴퓨터의 IP 주소를 바꿉니다. 이 값에 false를 지정하면 주소 대신 컴퓨터 이름이 사용되므로 로밍하는 동안 원격 통신의 연결이 끊어지지 않습니다. 기본값은 true입니다. machineName 속성을 서버 채널에서 사용할 경우 이 속성으로 이 값을 재정의할 수 있습니다.

machineName

현재 채널과 함께 사용되는 컴퓨터 이름을 지정하는 문자열입니다. 서버 채널에서 사용되는 경우 useIpAddress를 재정의합니다.

참고 일반적으로 컴퓨터의 DNS(Domain Name System) 이름을 사용하는 것이 좋지만, 특정 NIC(네트워크 인터페이스 카드, 일반적으로 무선 NIC)의 IP 주소가 빠르게 바뀌는 경우에는 응용 프로그램에서 machineName을 사용하도록 구성하여 원격 서비스가 DNS를 통해 컴퓨터를 찾을 수 있도록 해야 합니다. 그러나 컴퓨터 이름이 적절한 속도로 확인되지 않거나 전혀 확인되지 않으며 컴퓨터에 물리적 또는 가상 NIC가 둘 이상 있는 경우(주로 전화 접속 연결이나 VPN 네트워크 어댑터의 경우)에는 해당 연결에 현재 사용되고 있는 NIC의 IP 주소로 machineName 속성을 설정해야 합니다.

자식 요소

요소 설명

<serverProviders>

서버측 채널 싱크 호출 체인에 삽입될 싱크에 대한 싱크 공급자를 포함합니다. 이 특성은(지정한 경우) 채널의 기본값을 모두 재정의하며 <channel> 요소에 한 번만 사용할 수 있습니다.

<clientProviders>

클라이언트측 채널 싱크 호출 체인에 삽입될 싱크에 대한 싱크 공급자를 포함합니다. 이 특성은(지정한 경우) 채널의 기본값을 모두 재정의하며 <channel> 요소에 한 번만 사용할 수 있습니다.

부모 요소

요소 설명

application

응용 프로그램에서 사용하고 노출하는 원격 개체에 대한 정보를 포함합니다.

channels

응용 프로그램에서 원격 개체와 통신하는 데 사용하는 채널을 포함합니다. 이 요소는 채널 템플릿을 구성하거나 특정 응용 프로그램에 사용할 새 채널을 선언합니다.

configuration

공용 언어 런타임 및 .NET Framework 응용 프로그램에서 사용하는 모든 구성 파일의 루트 요소입니다.

system.runtime.remoting

원격 개체 및 채널에 대한 정보를 포함합니다.

설명

시스템에서 제공하는 HttpChannel, TcpChannelIpcChannel은 컴퓨터 구성 파일에 지정되어 있으며 해당 채널의 id 특성은 각각 "http", "tcp" 및 "ipc"입니다.

예제

다음 구성 파일에서는 클라이언트 응용 프로그램에 대한 원격 형식의 위치를 선언하고 <channels> 인스턴스 요소를 통해, 서버 개체에 연결할 적절한 포트를 찾고 기본 HttpChannel을 사용하도록 .NET Framework Remoting 시스템에 지정합니다.

<configuration>
   <system.runtime.remoting>
      <application>
         <client>
            <wellknown 
               type="RemoteType, RemoteAssembly"
               url="http://computername:8080/RemoteType.rem"
            />
         </client>
         <channels>
            <channel 
               ref="http" 
               port="0"
            />
         </channels>
      </application>
   </system.runtime.remoting>
</configuration>

참고 항목

참조

원격 설정 스키마
HttpChannel
HttpClientChannel
HttpServerChannel
TcpChannel
TcpClientChannel
TcpServerChannel
IpcChannel
IpcClientChannel
IpcServerChannel

빌드 날짜: 2010-02-13