.NET Framework Remoting 개요
.응용 프로그램 구성 요소가 모두 한 컴퓨터에 있든지 전세계에 퍼져 있든지 간에 .NET Remoting을 통해 널리 분산된 응용 프로그램을 쉽게 빌드할 수 있습니다. 같은 컴퓨터 또는 해당 네트워크를 통해 연결할 수 있는 다른 모든 컴퓨터에 있는 다른 프로세스의 개체를 사용하는 클라이언트 응용 프로그램을 빌드할 수 있습니다. 또한 .NET Remoting을 사용하여 같은 프로세스에서 다른 응용 프로그램 도메인과 통신할 수도 있습니다. 응용 프로그램 도메인 프로그래밍에 대한 자세한 내용은 Programming with Application Domains을 참조하십시오.
.NET Remoting은 특정 클라이언트나 서버 응용 프로그램 도메인 및 특정 통신 메커니즘에서 원격으로 사용 가능한 개체를 분리하는 프로세스 간 통신에 대해 추상적인 접근법을 제공합니다. 따라서 매우 유연하며 손쉽게 사용자 지정할 수 있습니다. 클라이언트나 서버를 다시 컴파일하지 않고 특정 통신 프로토콜을 다른 프로토콜로 바꾸거나 특정 serialization 형식을 다른 형식으로 바꿀 수 있습니다. 또한 원격 시스템에서는 특정 응용 프로그램 모델을 가정하지 않습니다. 즉 웹 응용 프로그램, 콘솔 응용 프로그램, Windows 서비스 등 거의 모든 방식을 사용하여 통신할 수 있습니다. 원격 서버도 모든 형식의 응용 프로그램 도메인일 수 있습니다. 모든 응용 프로그램은 원격 개체를 호스트하고 같은 컴퓨터 또는 네트워크의 모든 클라이언트에 서비스를 제공할 수 있습니다.
참고: |
---|
보안상의 이유로 원격 끝점은 보안 채널을 통해 노출하는 것이 좋습니다. 보안이 적용되지 않는 원격 끝점을 절대 인터넷에 노출하지 마십시오. |
.NET Remoting을 사용하여 응용 프로그램 도메인 경계를 가로질러 두 구성 요소가 통신하는 응용 프로그램을 빌드하려면 다음만 빌드하면 됩니다.
원격으로 사용 가능한 개체
해당 개체의 요청을 수신하기 위한 호스트 응용 프로그램 도메인
해당 개체에 대해 요청하는 클라이언트 응용 프로그램 도메인
복잡한 다중 클라이언트 또는 다중 서버 응용 프로그램의 경우에도 .NET Remoting을 이런 방식으로 생각할 수 있습니다. 호스트와 클라이언트 응용 프로그램도 원격 인프라에 맞게 구성해야 하며 원격 인프라에 수반되는 수명 및 활성화 문제를 이해해야 합니다.
단원 내용
- 기본 .NET Framework Remoting 응용 프로그램 빌드
원격으로 사용할 수 있는 형식, 수신기 응용 프로그램과 구성 파일 및 클라이언트 응용 프로그램과 구성 파일을 빌드하여 기본 .NET Remoting 시나리오를 보여 줍니다.
- .NET Framework Remoting 아키텍처
.NET Remoting 시스템의 아키텍처를 설명합니다.
- 개체를 원격으로 사용 가능하도록 설정
원격 경계 및 해당 경계를 가로질러 활성화될 수 있는 형식을 구현하는 방법을 설명합니다.
- 개체 활성화 및 수명
원격 활성화의 여러 형식과 원격 개체 수명을 관리하는 방법을 설명합니다.
- 채널
시스템 정의 채널에 대해 설명하고 시나리오에 가장 적합한 채널을 결정하는 데 필요한 정보를 제공합니다.
- 원격 응용 프로그램 구성
.NET Remoting 인프라의 기본 구성 요구 사항, 이러한 요구 사항을 충족시키기 위해 사용할 수 있는 구성의 형식 및 다양한 서버 및 클라이언트 응용 프로그램 도메인의 특정 필요 사항에 대해 설명합니다.
- 원격 서비스의 버전 정보
원격 시나리오에서 버전 관리가 작동하는 방식을 설명합니다.
- 원격 서비스의 보안
Remoting을 사용하기 위한 보안 요구 사항과 보안 원격 응용 프로그램을 빌드하는 데 도움이 되는 기본 접근법을 설명합니다.
- 비동기 원격 서비스
원격 시나리오에서 비동기 프로그래밍을 수행하는 방법을 설명합니다.
- 방법: 비동기적으로 원격 개체 메서드 호출
원격 개체의 메서드에 대해 비동기 호출을 수행하는 방법을 보여 줍니다.
- 원격 개체 메서드 비동기 호출과 관련된 문제
원격 개체의 메서드에 대해 비동기 호출을 수행할 때 발생 가능한 문제를 설명합니다.
- CallContexts 및 직접 원격 서비스
CallContext 를 사용하여 원격 메서드 호출을 통해 추가 데이터를 전달하는 방법과 원격 사용을 위해 개체를 동적으로 게시하는 방법을 설명합니다.
참조
- 원격 설정 스키마
구성 파일을 사용하여 .NET Remoting을 구성하는 데 사용할 수 있는 요소에 대한 참조 정보를 제공합니다.
- System.Runtime.Remoting
.NET Remoting을 수행하는 데 사용할 수 있는 형식에 대한 참조 정보를 제공합니다.
- System.Runtime.Remoting.Activation
원격 개체를 서버와 클라이언트에서 활성화할 수 있게 하는 클래스와 개체를 포함합니다.
- System.Runtime.Remoting.Channels
원격 개체의 메서드를 클라이언트에서 호출할 때의 전송 미디어로 사용되는 채널 및 채널 싱크를 지원 및 처리하는 클래스를 포함합니다.
- System.Runtime.Remoting.Channels.Http
HTTP 프로토콜을 사용하여 원격 위치와 메시지 및 개체를 주고 받는 채널에 대한 클래스를 포함합니다.
- System.Runtime.Remoting.Channels.Ipc
Windows 운영 체제의 IPC(프로세스 간 통신)를 사용하는 원격 통신 채널을 정의하는 클래스를 포함합니다.
- System.Runtime.Remoting.Channels.Tcp
TCP 프로토콜을 사용하여 원격 위치와 메시지 및 개체를 주고 받는 채널을 정의하는 클래스를 포함합니다.
- System.Runtime.Remoting.Contexts
모든 원격 개체가 상주하는 컨텍스트를 정의하는 개체를 포함합니다.
- System.Runtime.Remoting.Lifetime
원격 개체의 수명을 관리하는 클래스를 포함합니다.
- System.Runtime.Remoting.Messaging
메시지를 만들고 전송하는 데 사용되는 클래스를 포함합니다.
- System.Runtime.Remoting.Metadata
개체 및 필드에 대한 SOAP의 생성 및 처리를 사용자 지정하는 데 사용할 수 있는 클래스와 특성을 포함합니다.
- System.Runtime.Remoting.Metadata.W3cXsd2001
2001년에 W3C(World Wide Web 컨소시엄)에서 정의한 XSD(XML 스키마 정의)를 포함합니다.
- System.Runtime.Remoting.MetadataServices
원격 인프라를 위해, Soapsuds.exe 명령줄 도구 및 사용자 코드가 XML 스키마 간에 메타데이터를 변환하는 데 사용하는 클래스를 포함합니다.
- System.Runtime.Remoting.Proxies
프록시의 기능을 제어하고 제공하는 클래스를 포함합니다.
- System.Runtime.Remoting.Services
.NET Framework에 기능을 제공하는 서비스 클래스를 포함합니다.
관련 단원
- 고급 원격 서비스
.NET Remoting 아키텍처 사용자 지정에 사용할 수 있는 가로채기 및 확장의 기본 사항을 설명합니다.
- 원격 서비스 예제
원격 인프라의 여러 요소를 사용하는 완전한 샘플 응용 프로그램 몇 가지를 제공합니다.
Copyright © 2007 by Microsoft Corporation. All rights reserved.