다음을 통해 공유


원격 개체 구성

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

원격으로 사용 가능한 개체를 게시하거나 사용하는 개발자는 .NET Remoting을 사용하는 응용 프로그램이 올바로 동작할 수 있도록 .NET Remoting을 구성해야 합니다. 개발자는 응용 프로그램 구성 파일 또는 시스템 구성 파일을 사용하거나 프로그래밍 방식으로 .NET Remoting 시스템을 구성할 수 있습니다. 그런 다음 관리자는 .NET Framework 구성 도구를 사용하여 다른 끝점에 있는 원격 클라이언트를 가리키거나 필요한 경우 클라이언트 활성 개체(<activated>)나 서버 활성 개체(<wellknown>)의 수명을 수정할 수 있습니다.

원격으로 사용 가능한 클래스는 <system.runtime.remoting> 요소의 자식 요소인 <application> 요소 내에 배치하여 등록합니다. 응용 프로그램에서 액세스하는 개체는 <application> 요소 내의 <client> 섹션 아래에 있는 원격 응용 프로그램별로 그룹화됩니다. 응용 프로그램에서 노출하는 개체는 <application> 노드 내의 <service> 섹션 내에서 선언됩니다. 원격 형식을 IIS(인터넷 정보 서비스)에서 호스팅하지 않으려는 경우에는 응용 프로그램에 대해 name 특성을 지정하여 활성화 URL의 일부로 만들 수 있지만 이 특성은 어떤 시나리오에서도 필요하지 않습니다. IIS에서의 호스팅에 대한 자세한 내용은 IIS(인터넷 정보 서비스)의 원격 개체 호스팅을 참조하십시오.

또한 .NET Remoting에서는 응용 프로그램 구성 파일에 있는 원격 구성 값을 자동으로 선택하지 않습니다. 구성 파일을 사용하여 원격을 구성하려면 RemotingConfiguration.Configure를 호출해야 합니다. 호스트 응용 프로그램 도메인에서 원격 구성 파일을 자동으로 로드하는 유일한 경우는 원격으로 사용 가능한 형식이 IIS에서 호스팅되는 경우입니다. 이 경우 .NET Remoting에서는 Web.config 파일에서 서비스 설정만 자동으로 선택합니다. RemotingConfiguration.Configure 메서드를 직접 호출하여 구성 파일을 다시 로드할 때까지 클라이언트 설정은 무시됩니다.

다음 스키마는 .NET Remoting을 사용하도록 응용 프로그램을 구성하는 데 사용되는 요소의 구조를 보여 줍니다.

<configuration>

<system.runtime.remoting>

<application>

<lifetime>

<channels>(인스턴스)

<channel>(인스턴스)

<serverProviders>(인스턴스)

<provider>(인스턴스)

<formatter>(인스턴스)

<clientProviders>(인스턴스)

<provider>(인스턴스)

<formatter>(인스턴스)

<client>

<wellknown>(클라이언트 인스턴스)

<activated>(클라이언트 인스턴스)

<service>

<wellknown>(서비스 인스턴스)

<activated>(서비스 인스턴스)

<soapInterop>

<interopXmlType>

<interopXmlElement>

<preLoad>

<channels>(템플릿)

<channel>(템플릿)

<serverProviders>(인스턴스)

<provider>(인스턴스)

<formatter>(인스턴스)

<clientProviders>(인스턴스)

<provider>(인스턴스)

<formatter>(인스턴스)

<channelSinkProviders>

<serverProviders>(템플릿)

<provider>(템플릿)

<formatter>(템플릿)

<clientProviders>(템플릿)

<provider>(템플릿)

<formatter>(템플릿)

<debug>

원격 설정을 사용하려면 응용 프로그램 구성 파일에서 RemotingConfiguration.Configure를 호출해야 합니다. 공용 언어 런타임에서는 응용 프로그램 구성 파일을 로드하기 전에 시스템 구성 파일을 자동으로 로드합니다. 시스템 구성 파일에서 RemotingConfiguration.Configure를 호출해서는 안 됩니다. 호출하면 메모리에 이미 있는 일부 개체가 다시 로드될 때 예외가 발생할 수 있습니다.

수명 구성

<lifetime> 요소를 사용하여 응용 프로그램에 있는 모든 클라이언트 활성 개체와 서버 활성 Singleton 개체의 기본 수명을 지정합니다.

프로그래밍 방식 구성과 수명 개념에 대한 자세한 내용은 수명 임대를 참조하십시오.

인스턴스 요소 및 템플릿 요소

채널 구성과 관련된 요소 형식으로는 템플릿 요소와 인스턴스 요소가 있습니다. 템플릿 요소는 채널, 서버 또는 클라이언트 채널 싱크 공급자를 선언하는 데 사용되며, 템플릿 요소의 ID 특성을 참조하여 동일한 응용 프로그램의 다른 모든 위치에서 사용할 수 있도록 서버 또는 채널 싱크 포맷터를 선언하는 데 사용됩니다.

42d55ae3.note(ko-kr,VS.100).gif참고:
템플릿 요소의 type 특성을 사용하여 BinaryFormatter 또는 HttpChannel과 같은 시스템 구현 형식을 사용하는 기본 구성을 만들 때마다 버전, 문화권 및 강력한 이름 정보를 포함한 완전한 형식 정보를 지정해야 합니다. 이 정보는 machine.config 파일에서 가져오거나 전역 어셈블리 캐시 유틸리티인 Gacutil.exe를 사용하여 가져올 수 있습니다. 전역 어셈블리 캐시에는 없지만 위치를 확인할 수 있는 어셈블리에 형식이 정의되어 있거나 ref 특성을 사용할 수 있는 인스턴스 요소의 형식을 참조할 경우에는 이 과정이 필요하지 않습니다.

참고 항목

작업

방법: 클라이언트 활성 또는 서버 활성 원격 개체의 수명 구성
방법: 채널 구성

참조

System.Runtime.Remoting.RemotingConfiguration Class

개념

원격 응용 프로그램 구성
채널
채널 등록
서버측 등록
클라이언트측 등록
채널 등록

관련 자료

구성 파일을 사용하여 원격 개체 등록
.NET Framework Remoting 개요