사용자 지정 마샬링 개요
업데이트: 2007년 11월
마샬러는 기본적으로 이전 인터페이스와 새 인터페이스의 기능 간에 중개 역할을 합니다. 사용자 지정 마샬링을 사용하면 이전 인터페이스를 사용하도록 되어 있는 클라이언트가 새 인터페이스만 구현하는 서버에서도 동작할 수 있습니다. 또한 새 인터페이스를 사용하도록 빌드된 클라이언트가 이전 인터페이스를 노출하는 서버에서도 동작할 수 있습니다.
interop 마샬러를 사용하는 대신 인터페이스에 대해 다양한 마샬링 동작을 도입하거나 다양한 방법으로 인터페이스를 COM에 노출하는 사용자 지정 마샬러를 디자인할 수 있습니다. 사용자 지정 마샬러를 사용하면 새 .NET 구성 요소와 기존 COM 구성 요소 간의 차이를 최소화할 수 있습니다.
예를 들어 이름이 INew인 관리되는 인터페이스를 개발하는 경우를 가정해 봅니다. 표준 CCW를 통해 COM에 노출된 경우 인터페이스는 관리되는 인터페이스와 동일한 메서드를 포함하고 interop 마샬러에 내장된 마샬링 규칙을 사용합니다. 또한 IOld라고 하는 잘 알려진 COM 인터페이스에서 이미 INew 인터페이스와 동일한 기능을 제공하는 경우를 가정해 봅니다. 사용자 지정 마샬러를 도입하면 관리되는 INew 인터페이스 구현에 호출을 위임하는 관리되지 않는 IOld 구현을 제공할 수 있습니다. 사용자 지정 마샬러는 기본적으로 관리되는 인터페이스와 관리되지 않는 인터페이스 사이의 중개 역할을 합니다.
사용자 지정 마샬러는 디스패치 전용 인터페이스에서 관리되는 쪽으로부터 관리되지 않는 쪽으로 호출할 때는 호출되지 않습니다.