Procedura: utilizzare un moniker di servizio con i contratti per lo scambio di metadati
Dopo aver sviluppato alcuni nuovi servizi WCF, è possibile scegliere di chiamare questi servizi da uno script o da un'applicazione Visual Basic 6.0. Uno metodo per ottenere questo risultato consiste nel generare un assembly client WCF, registrare l'assembly con COM, installare l'assembly nella cache di assembly globale e quindi fare riferimento ai tipi COM dal codice Visual Basic. Quando si distribuisce l'applicazione, è necessario distribuire anche l'assembly client WCF. L'utente dovrà quindi registrare l'assembly client WCF con COM e posizionarlo nella cache di assembly globale. L'interoperabilità COM WCF consente anche di eseguire le stesse chiamate al servizio senza basarsi su un assembly client WCF. Il moniker WCF consente di chiamare qualsiasi servizio WCF da qualsiasi linguaggio compatibile con COM (Visual Basic, VBScript, Visual Basic, Applications Edition (VBA) e così via) specificando un URI dell'endpoint Mex (metadata exchange) che il moniker del servizio utilizza per estrarre informazioni sui tipi per il servizio. In questo argomento viene illustrato come chiamare l'esempio WCF della Guida introduttiva utilizzando un moniker WCF che specifica un endpoint Mex.
Nota
Non viene mai creata un'istanza dei tipi definiti dall'assembly client WCF e l'assembly viene utilizzato solo per i metadati.
Utilizzo del moniker del servizio con un indirizzo Mex
Creare l'esempio della Guida introduttiva e utilizzare Internet Explorer per passare all'URL (https://localhost/ServiceModelSamples/Service.svc) per verificare che il servizio sia in funzione.
Creare uno script di Visual Basic o un'applicazione Visual Basic che contiene il codice seguente:
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)
Eseguire l'applicazione o lo script Visual Basic.
Nota
Il servizio che si sta chiamando deve esporre un endpoint Mex affinché il moniker sia in grado di leggere i metadati dal servizio. Per ulteriori informazioni, vedere Procedura: pubblicare metadati per un servizio utilizzando un file di configurazione.
Nota
Se il formato del moniker non è valido o se il servizio non è disponibile, la chiamata a GetObject restituirà un errore di sintassi non valida. Se si riceve questo errore, verificare che il moniker che si sta utilizzando sia valido e che il servizio sia disponibile.
Vedere anche
Attività
Procedura: utilizzare un moniker di servizio con i contratti WSDL
Concetti
Procedura: utilizzare il moniker servizio di Windows Communication Foundation senza registrazione