메타데이터 문제
.NET Remoting 인프라에서는 한 응용 프로그램 도메인의 개체를 다른 도메인의 개체에 연결하기 위해 올바른 메타데이터를 필요로 합니다. 어떤 경우에든 클라이언트 응용 프로그램 도메인에서는 사용하려는 원격 개체의 메타데이터를 소유해야 합니다. 이때 기억해야 하는 중요한 문제는 다음과 같습니다.
서버 활성 개체의 경우 해당 형식이 포함된 어셈블리 이름은 클라이언트와 서버 모두에서 동일해야 하며 형식 이름이 일치해야 합니다. 이는 형식 ID를 결정할 때 어셈블리 버전 및 강력한 이름 정보를 비롯하여 형식 이름과 어셈블리 이름이 함께 사용되기 때문입니다.
클라이언트 활성 개체의 경우 해당 형식이 포함된 어셈블리 이름은 클라이언트와 서버 모두에서 동일해야 하며 형식 이름이 일치해야 합니다. 또한 클라이언트에는 원격 형식의 실제 구현이 있어야 하며 모든 멤버에 서버 구현의 해당 멤버와 동일한 시그니처가 있어야 합니다.
참고
클라이언트 구현이 반드시 서버 구현이어야 할 필요는 없습니다. 클라이언트에서 서버 구현에 액세스할 수 없도록 하려는 경우에는 위의 모든 요구 사항을 만족하되 NotSupportedException 예외를 Throw하는 스텁 해제된 멤버가 포함된 대리 라이브러리를 빌드할 수 있습니다. Soapsuds 도구(Soapsuds.exe)에서는 SOAP serialization을 사용하여 클라이언트에 대해 이 작업을 수행합니다. 참조로 마샬링하는 게시된 형식에 대해 사용자가 채널을 사용하여 이 작업을 수행할 수도 있습니다.