다음을 통해 공유


채널 선택

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

.NET Framework Remoting 인프라에서는 다음 채널 구현을 제공합니다.

IpcChannel

IpcChannel 클래스는 명명된 파이프를 사용하여 같은 컴퓨터의 여러 프로세스 응용 프로그램에 고속 프로세스 간 통신을 제공합니다. IpcChannel:

  • 이름 지정된 파이프를 사용하여 송신자와 수신자 간에 통신합니다.

  • 이진 형식의 인코딩 페이로드와 산업 표준 SOAP serialization 형식을 지원합니다.

  • 개체 참조를 위한 ChannelDataStore를 생성하고 사용합니다.

  • 가장 및 위임을 지원합니다.

  • 고급 액세스 제어를 위해 이름 지정된 파이프에 대한 ACL(액세스 제어 목록)을 지원합니다.

응용 프로그램이 같은 컴퓨터의 다른 프로세스에서 실행되는 다른 응용 프로그램과 통신해야 하는 경우에는 IpcChannel을 사용합니다. IpcChannel은 이름 지정된 파이프를 사용하기 때문에 응용 프로그램은 일반적으로 가장 높은 통신 성능을 얻을 수 있고 가장과 위임을 사용하여 원격 개체에 대한 액세스를 제어할 수 있습니다. 이 기능은 부하 상태에서 수행되어야 하는 3계층 응용 프로그램의 두 번째 및 세 번째 계층 간에 특히 유용합니다.

TcpChannel

TcpChannel 클래스는 이진 포맷터를 사용하여 모든 메시지를 이진 스트림으로 serialize하고 TCP 프로토콜을 사용하여 스트림을 대상 URI(Uniform Resource Identifier)로 전송합니다. TcpChannel은 다음 기능을 수행합니다.

  • TCP 소켓을 사용하여 송신자와 수신자 간에 통신합니다.

  • 이진 형식의 인코딩 페이로드와 산업 표준 SOAP serialization 형식을 지원합니다.

  • 개체 참조를 위한 ChannelDataStore를 생성하고 사용합니다.

  • 가장 및 위임을 지원합니다.

  • SSPI 암호화를 지원합니다.

TcpChannel은 특정 시점에서 다른 서버로 요청을 전송하는 스레드의 수에 해당하는 연결을 열고 캐시합니다. 소켓 연결은 15-20초 동안 비활성 상태이면 클라이언트에서 닫힙니다.

.NET Framework Remoting을 사용하는 여러 응용 프로그램을 작성할 때 실수로 HttpChannel을 사용하여 TcpChannel로 수신하는 서버 응용 프로그램 도메인에 연결하기 쉽습니다. 이런 연결을 만들면 클라이언트는 "기본 연결이 닫혔습니다. 받기에서 예기치 않은 오류가 발생했습니다."라는 예외를 수신합니다. 이런 예외를 수신하는 클라이언트가 있는 경우에는 클라이언트와 서버에 일치하지 않는 채널이 있는지 확인해야 합니다.

HttpChannel

HttpChannel 클래스는 SOAP 프로토콜을 사용하여 원격 개체와 메시지를 주고 받습니다. 모든 메시지는 SoapFormatter를 통해 전달되며, 여기에서 메시지는 XML로 변경되고 serialize되며 필요한 SOAP 헤더가 스트림에 추가됩니다. 이진 포맷터도 지정되면 이진 데이터 스트림이 생성됩니다. 그런 다음 데이터 스트림은 HTTP 프로토콜을 사용하여 대상 URI로 전송됩니다. HttpChannel은 SOAP 1.1과 호환되며 다음 기능을 수행합니다.

  • HTTP 프로토콜을 전송으로 사용하여 송신자와 수신자 간에 통신합니다.

  • 이진 형식뿐만 아니라 XML 인코딩 표준인 SOAP에서의 인코딩 페이로드를 지원합니다.

  • 수신자가 HTTP 요청을 받고 ASP.NET 및 TCP 소켓에서 HTTP 응답을 보내도록 설정합니다.

  • 개체 참조를 위한 ChannelDataStore를 생성하고 사용합니다.

  • 가장 및 위임을 지원합니다.

  • SSPI 암호화를 지원합니다.

4b3scst2.note(ko-kr,VS.100).gif참고:
Microsoft Internet Explorer를 사용하는 클라이언트에서 HttpChannel을 사용하려면 Internet Explorer에서 프록시 설정의 자동 구성을 설정할 수 없습니다. 그 대신 Internet Explorer에서 프록시 설정을 명시적으로 설정해야 합니다.

HttpChannel은 특정 서버에 대해 한 번에 지정된 수의 연결만 엽니다. 기본값은 두 개지만 응용 프로그램 구성 파일에 clientConnectionLimit 특성을 사용하여 기본값을 변경할 수 있습니다.

.NET Framework Remoting을 사용하는 여러 응용 프로그램을 작성할 때 실수로 HttpChannel을 사용하여 TcpChannel로 수신하는 서버 응용 프로그램 도메인에 연결하기 쉽습니다. 이런 연결을 만들면 클라이언트는 "기본 연결이 닫혔습니다. 받기에서 예기치 않은 오류가 발생했습니다."라는 예외를 수신합니다. 이런 예외를 수신하는 클라이언트가 있는 경우에는 클라이언트와 서버에 일치하지 않는 채널이 있는지 확인해야 합니다.

참고 항목

참조

HttpChannel
TcpChannel
IpcChannel

개념

채널