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
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.
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)
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