다음을 통해 공유


COM 애플리케이션과 통합 개요

WCF(Windows Communication Foundation)는 관리 코드 개발자에게 연결된 애플리케이션을 만들기 위한 풍부한 환경을 제공합니다. 그러나 관리되지 않는 COM 기반 코드에 상당한 투자가 있고 마이그레이션하지 않으려는 경우 WCF 서비스 모니커를 사용하여 WCF 웹 서비스를 기존 코드에 직접 통합할 수 있습니다. 서비스 모니커는 Office VBA, Visual Basic 6.0 또는 Visual C++ 6.0과 같은 다양한 COM 기반 개발 환경에서 사용할 수 있습니다.

비고

서비스 모니커는 모든 통신에 WCF 통신 채널을 사용합니다. 해당 채널의 보안 및 ID 메커니즘은 표준 COM 및 DCOM 프록시에 사용되는 메커니즘과 다릅니다. 또한 서비스 모니커가 WCF 통신 채널을 사용하기 때문에 모든 호출에 대한 기본 제한 시간은 1분입니다.

서비스 모니커는 강력한 형식의 COM 특정 접근 방식을 제공하여 비관리형 개발자가 WCF 웹 서비스를 호출할 수 있도록 GetObject 함수와 함께 사용됩니다. 이렇게 하려면 WCF 웹 서비스 계약의 로컬 COM 표시 정의와 사용할 바인딩이 필요합니다. 다른 WCF 클라이언트와 마찬가지로 서비스 모니커는 서비스에 형식화된 채널을 생성해야 하지만 이 채널 생성은 첫 번째 메서드 호출 시 COM 프로그래머에게 투명하게 발생합니다.

다른 WCF 클라이언트와 공통적으로 모니커를 사용하는 경우 애플리케이션은 서비스와 통신할 주소, 바인딩 및 계약을 지정합니다. 계약은 다음 방법 중 하나로 지정할 수 있습니다.

  • 형식화된 계약 - 계약이 클라이언트 머신에 COM 표시 형식으로 등록됩니다.

  • WSDL 계약 – 계약은 WSDL 문서 형식으로 제공됩니다.

  • MEX 계약 – MEX(메타데이터 교환) 엔드포인트에서 런타임에 계약이 검색됩니다.

서비스 모니커에서 지원하는 매개 변수

다음 표에서는 서비스 모니커에서 지원하는 매개 변수를 보여줍니다.

매개 변수 설명
address 서비스의 URL 위치입니다.
binding 애플리케이션 구성의 바인딩 섹션 이름입니다.
bindingConfiguration 명명된 바인딩 섹션 내부의 바인딩 인스턴스입니다.
contract 서비스 계약 또는 계약 이름(MEX)을 나타내는 IID(인터페이스 식별자)입니다.
wsdl 대체 형태의 계약 정의를 제공하는 WSDL 문서입니다.
spnIdentity 서비스와 통신하는 데 사용할 SPN(서버 보안 주체 이름) ID입니다.
upnIdentity 서비스와 통신하는 데 사용할 UPN(사용자 계정 이름) ID입니다.
dnsIdentity 서비스와 통신하는 데 사용할 DNS ID입니다.
mexAddress 서비스의 MEX(메타데이터 교환) 엔드포인트의 URL 위치입니다.
mexBinding MEX 엔드포인트와 연결하기 위해 애플리케이션 구성에서 섹션 이름을 바인딩합니다.
mexBindingConfiguration 명명된 바인딩 섹션 내에서 명명된 바인딩 인스턴스를 MEX 엔드포인트와 연결합니다.
bindingNamespace 검색된 MEX에서 바인딩 섹션 이름의 네임스페이스입니다.
contractNamespace 검색된 MEX에서 가져온 계약의 네임스페이스입니다.
mexSpnIdentity MEX 엔드포인트와 통신하는 데 사용할 SPN(서버 보안 주체 이름) ID입니다.
mexUpnIdentity MEX 엔드포인트와 통신하는 데 사용할 UPN(사용자 계정 이름) ID입니다.
mexDnsIdentity MEX 엔드포인트와 통신하는 데 사용할 DNS ID입니다.
serializer "xml" 또는 "datacontract" 직렬 변환기를 사용하도록 지정합니다.

비고

전적으로 COM 기반 클라이언트와 함께 사용하는 경우에도 서비스 모니커를 사용하려면 클라이언트 컴퓨터에 WCF 및 지원 .NET Framework 2.0을 설치해야 합니다. 서비스 모니커를 사용하는 클라이언트 애플리케이션이 적절한 버전의 .NET Framework 런타임을 로드하는 것도 중요합니다. Office 응용 프로그램 내에서 모니커를 사용하는 경우 올바른 프레임워크 버전이 로드되도록 구성 파일이 필요할 수 있습니다. 예를 들어 Excel에서는 Excel.exe 파일과 동일한 디렉터리에 Excel.exe.config 파일에 다음 텍스트를 배치해야 합니다.

<?xml version="1.0" encoding="utf-8"?>

<configuration xmlns= http://schemas.microsoft.com/.NetConfiguration/v2.0 >

<startup>

<requiredRuntime version="v2.0.50727" />

</startup>

</configuration>

참고하십시오