Compartir a través de


Introducción a la integración con aplicaciones COM

Windows Communication Foundation (WCF) proporciona al desarrollador de código administrado un entorno enriquecido para crear aplicaciones conectadas. Sin embargo, si tiene una inversión sustancial en código no administrado basado en COM y no desea migrar, todavía puede integrar los servicios web WCF directamente en el código existente mediante el moniker del servicio WCF. El moniker de servicio se puede usar desde una amplia gama de entornos de desarrollo basados en COM, como Office VBA, Visual Basic 6.0 o Visual C++ 6.0.

Nota:

El identificador de servicio utiliza un canal de comunicación WCF para todas las comunicaciones. Los mecanismos de seguridad e identidad de ese canal difieren de los usados en servidores proxy COM y DCOM estándar. Además, dado que el moniker de servicio usa un canal de comunicación WCF, el período de tiempo de espera predeterminado es de un minuto para todas las llamadas.

El moniker de servicio se utiliza con la función GetObject para proporcionar un enfoque fuertemente tipado, específico de COM al desarrollador no administrado con el fin de llamar a los servicios web WCF. Esto requiere una definición local visible para COM del contrato de servicio web WCF y la vinculación que se utilizará. Al igual que otros clientes WCF, el moniker de servicio debe construir un canal con tipo al servicio, aunque esta construcción del canal se produce de forma transparente en el programador COM en la primera llamada al método.

Al igual que otros clientes WCF, al utilizar el moniker, las aplicaciones especifican la dirección, el enlace y el contrato para comunicarse con un servicio. El contrato se puede especificar de una de las maneras siguientes:

  • Contrato tipado: el contrato se registra como un tipo visible como COM en el equipo cliente.

  • Contrato WSDL: el contrato se proporciona en forma de documento WSDL.

  • Contrato de MEX: el contrato se recupera en tiempo de ejecución a partir de un punto de conexión de intercambio de metadatos (MEX).

Parámetros admitidos por el identificador de servicio

En la tabla siguiente se muestran los parámetros admitidos por el alias de servicio.

Parámetro Descripción
address Ubicación de dirección URL del servicio.
binding Nombre de sección de enlace desde la configuración de la aplicación.
bindingConfiguration Instancia del enlace con nombre desde la sección de enlace con nombre.
contract Identificador de interfaz (IID) que representa el contrato de servicio o el nombre del contrato (de MEX).
wsdl Documento WSDL que proporciona una forma alternativa de definición de contrato.
spnIdentity Identidad del nombre principal del servidor (SPN) que se usará para comunicarse con el servicio.
upnIdentity Identidad del nombre principal del usuario (UPN) que se va a utilizar para comunicarse con el servicio.
dnsIdentity Identidad DNS que se usará para comunicarse con el servicio.
mexAddress Dirección URL del punto de conexión de Intercambio de Metadatos (MEX) del servicio.
mexBinding El nombre de la sección de enlace a partir de la configuración de la aplicación para conectarse con el extremo MEX.
mexBindingConfiguration Instancia de enlace con nombre desde la que la sección de enlace con nombre se conecta con el punto de conexión MEX.
bindingNamespace El espacio de nombres del nombre de la sección de enlace desde el MEX recuperado.
contractNamespace El espacio de nombres del contrato desde el MEX recuperado.
mexSpnIdentity Identidad del nombre de entidad de seguridad de servidor (SPN) que se va a utilizar para comunicarse con el extremo MEX.
mexUpnIdentity Identidad del nombre principal del usuario (UPN) que se va a utilizar para comunicarse con el punto de conexión MEX.
mexDnsIdentity Identidad de DNS que se va a utilizar para comunicarse con el punto de conexión MEX.
serializer Especifique el uso del serializador "xml" o "datacontract".

Nota:

Incluso cuando se utiliza con clientes completamente basados en COM, el moniker de servicio requiere que WCF y .NET Framework 2.0 estén instalados en el equipo del cliente. También es fundamental que las aplicaciones cliente que usan el moniker de servicio carguen la versión adecuada del entorno de ejecución de .NET Framework. Al usar el moniker en las aplicaciones de Office, es posible que se requiera un archivo de configuración para asegurarse de que se cargue la versión correcta del marco. Por ejemplo, con Excel, el texto siguiente debe colocarse en un archivo denominado Excel.exe.config en el mismo directorio que el archivo Excel.exe:

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

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

<startup>

<requiredRuntime version="v2.0.50727" />

</startup>

</configuration>

Consulte también