Compartir a través de


Cómo: Utilizar un moniker de servicio con contratos de intercambio de metadatos

Después de desarrollar algunos servicios WCF nuevos, puede decidir que quiere poder llamar a estos servicios desde un script o una aplicación de Visual Basic 6.0. Un método sería generar un ensamblado de cliente WCF, registre el ensamblado con COM, instale el ensamblado en la GAC y, a continuación, haga referencia a los tipos COM de su código de Visual Basic. Al distribuir la aplicación, tendrá que distribuir también el ensamblado de cliente WCF. El usuario tendrá que registrar, a continuación, el ensamblado de cliente de WCF con COM y colocarlo en la GAC. Interoperabilidad COM WCF también le permite realizar las mismas llamadas de servicio sin confiar en un ensamblado de cliente WCF. El moniker WCF le permite llamar a cualquier servicio WCF desde cualquier lenguaje COM compatible (Visual Basic, VBScript, Visual Basic para Aplicaciones (VBA), etc.) especificando un extremo URI de intercambio de metadatos (Mex) que el moniker de servicio utiliza para extraer información de tipo sobre el servicio. En este tema se describe cómo llamar al ejemplo WCF de la Introducción mediante un moniker WCF que especifica un extremo de Mex.

Nota

No se crean instancias realmente de los tipos definidos por el ensamblado de cliente WCF. El ensamblado sólo se utiliza para los metadatos.

Utilizar el moniker de servicio con una dirección de Mex

  1. Genere el ejemplo de Introducción y utilice Internet Explorer para ir a su dirección URL (https://localhost/ServiceModelSamples/Service.svc) con el fin de asegurarse que el servicio está funcionando.

  2. Crear un script Visual Basic o aplicación Visual Basic que contiene el código siguiente:

        monString = "service:mexaddress=https://localhost/ServiceModelSamples/Service.svc/MEX"
        monString = monString + ", address=https://localhost/ServiceModelSamples/Service.svc"
        monString = monString + ", contract=ICalculator, contractNamespace=http://Microsoft.ServiceModel.Samples"
        monString = monString + ", binding=WSHttpBinding_ICalculator, bindingNamespace=http://Microsoft.ServiceModel.Samples"
    
        Set calc = GetObject(monString)
        MsgBox calc.Add(3, 4)
    
  3. Ejecute la aplicación Visual Basic o script.

    Nota

    El servicio al que está llamando debe exponer un extremo de Mex para que el moniker pueda leer los metadatos del servicio. Para obtener más información, consulte Cómo publicar metadatos para un servicio mediante un archivo de configuración.

    Nota

    Si el moniker es incorrecto o si el servicio no está disponible, la llamada a GetObject devolverá un error que dirá "Sintaxis no válida." Si recibe este error, asegúrese de que el moniker que está utilizando es correcto y el servicio está disponible.

Consulte también

Tareas

Cómo: Utilizar un moniker de servicio con contratos WSDL

Conceptos

Cómo utilizar el moniker de servicio de Windows Communication Foundation sin registrarse