Поделиться через


Общие сведения об интеграции с приложениями COM

Windows Communication Foundation (WCF) предоставляет разработчику управляемого кода среду с широкими возможностями для создания подключаемых приложений. Однако, если уже вложены существенные средства в неуправляемый код на основе модели COM и миграция нежелательна, веб-службы WCF можно интегрировать непосредственно в существующий код, используя моникер служб WCF. Моникер служб можно использовать в широком наборе сред разработки на базе модели COM, например в Office VBA, Visual Basic 6.0 и Visual C++ 6.0.

ms729739.note(ru-ru,VS.100).gifПримечание
Для всех взаимодействий моникер служб использует коммуникационный канал WCF. Механизмы безопасности и идентификации для этого канала отличаются от механизмов, используемых в стандартных прокси-средствах COM и DCOM. Кроме того, поскольку моникер служб использует коммуникационный канал WCF, время ожидания по умолчанию составляет одну минуту для всех вызовов.

Моникер служб используется с функцией GetObject, чтобы для вызова веб-служб WCF разработчик неуправляемого кода мог воспользоваться строго типизированным подходом на основе модели COM. Для этого требуются локальное, видимое для модели COM определение контракта веб-службы WCF и привязка, которая должна использоваться. Подобно другим клиентам WCF, моникер служб должен создать типизированный канал к службе, хотя создание этого канала при первом вызове метода происходит прозрачно для COM-программиста.

Вместе с другими клиентами WCF при использовании моникера приложения задают адрес, привязку и контракт для взаимодействия со службой. Контракт можно задать одним из следующих способов.

  • Типизированный контракт: контракт регистрируется как видимый для модели COM тип на клиентском компьютере.

  • Контракт WSDL: контракт предоставляется в виде документа WSDL.

  • Контракт MEX: контракт получается в среде выполнения из конечной точки обмена метаданными (MEX).

Параметры, поддерживаемые моникером служб

В следующей таблице представлены параметры, поддерживаемые моникером служб.

Параметр Описание

address

URL-адрес службы.

binding

Имя раздела привязки из конфигурации приложения.

bindingConfiguration

Именованный экземпляр привязки из именованного раздела привязки.

contract

Идентификатор интерфейса (IID), представляющий контракт службы или имя контракта (из MEX).

wsdl

Документ WSDL, обеспечивающий альтернативную форму определения контракта.

spnIdentity

Идентификатор имени участника на уровне сервера (SPN), который должен использоваться для взаимодействия со службой.

upnIdentity

Идентификатор имени участника-пользователя (UPN), который должен использоваться для взаимодействия со службой.

dnsIdentity

Идентификатор DNS, который должен использоваться для взаимодействия со службой.

mexAddress

URL-адрес конечной точки службы для обмена метаданными (MEX).

mexBinding

Имя раздела привязки из конфигурации приложения для соединения с конечной точкой MEX.

mexBindingConfiguration

Именованный экземпляр привязки из именованного раздела привязки для соединения с конечной точкой MEX.

bindingNamespace

Пространство имен для имени раздела привязки, полученное в результате MEX.

contractNamespace

Пространство имен контракта, полученное в результате MEX.

mexSpnIdentity

Идентификатор имени участника на уровне сервера (SPN), который должен использоваться для взаимодействия с конечной точкой MEX.

mexUpnIdentity

Идентификатор имени участника-пользователя (UPN), который должен использоваться для взаимодействия с конечной точкой MEX.

mexDnsIdentity

Идентификатор DNS, который должен использоваться для взаимодействия с конечной точкой MEX.

serializer

Позволяет задать использование сериализатора "xml" или "datacontract".

ms729739.note(ru-ru,VS.100).gifПримечание
Даже при использовании с клиентами, полностью основанными на модели COM, для моникера служб требуется WCF, и на клиентском компьютере должна быть установлена платформа .NET Framework 2.0. Также важно, чтобы в клиентские приложения, использующие моникер служб, была загружена соответствующая версия среды выполнения платформы .NET Framework. При использовании моникера в приложениях Office может потребоваться файл конфигурации, чтобы обеспечить загрузку надлежащей версии .NET Framework. Например, при использовании Excel файл Excel.exe.config, расположенный в том же каталоге, что и файл Excel.exe, должен содержать следующий текст:

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

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

<startup>

<requiredRuntime version="v2.0.50727" />

</startup>

</configuration>

См. также

Задачи

Как зарегистрировать и настроить моникер службы