Condividi tramite


Panoramica dell'integrazione con le applicazioni COM

Windows Communication Foundation (WCF) fornisce allo sviluppatore di codice gestito un ambiente avanzato per la creazione di applicazioni connesse. Tuttavia, se si ha un notevole investimento nel codice non gestito basato su COM e non si vuole eseguire la migrazione, è comunque possibile integrare i servizi Web WCF direttamente nel codice esistente usando il moniker del servizio WCF. Il moniker del servizio può essere usato da un'ampia gamma di ambienti di sviluppo basati su COM, ad esempio Office VBA, Visual Basic 6.0 o Visual C++ 6.0.

Annotazioni

Il moniker del servizio usa un canale di comunicazione WCF per tutte le comunicazioni. I meccanismi di sicurezza e identità per tale canale differiscono da quelli usati nei proxy COM e DCOM standard. Inoltre, poiché il moniker del servizio usa un canale di comunicazione WCF, il periodo di timeout predefinito è di un minuto per tutte le chiamate.

Il moniker del servizio viene usato con la funzione GetObject per fornire agli sviluppatori non gestiti un approccio fortemente tipizzato e specifico per COM per chiamare i servizi Web WCF. Ciò richiede una definizione locale, COM-visibile del contratto di servizio Web WCF e del binding che deve essere utilizzato. Analogamente ad altri client WCF, il moniker del servizio deve costruire un canale tipizzato per il servizio, anche se questa costruzione del canale viene eseguita in modo trasparente al programmatore COM nella prima chiamata al metodo.

Analogamente ad altri client WCF, quando si utilizza il "moniker", le applicazioni specificano l'indirizzo, il binding e il contratto per comunicare con un servizio. Il contratto può essere specificato in uno dei modi seguenti:

  • Contratto tipizzato: il contratto viene registrato come tipo visibile COM nel computer client.

  • Contratto WSDL: il contratto viene fornito sotto forma di documento WSDL.

  • Contratto MEX: il contratto viene recuperato in fase di esecuzione da un endpoint MEX (Metadata Exchange).

Parametri supportati dal moniker del servizio

Nella tabella seguente vengono illustrati i parametri supportati dal moniker del servizio.

Parametro Descrizione
address Percorso URL del servizio.
binding Nome della sezione di binding dalla configurazione dell'applicazione.
bindingConfiguration Istanza di associazione denominata dall'interno della sezione binding denominata.
contract Identificatore di interfaccia (IID) che rappresenta il contratto di servizio o il nome del contratto (da MEX).
wsdl Documento WSDL che fornisce una forma alternativa di definizione del contratto.
spnIdentity Identità del nome principale del server (SPN) da usare per comunicare con il servizio.
upnIdentity Identità del nome utente principale (UPN) da usare per comunicare con il servizio.
dnsIdentity Identità DNS da usare per comunicare con il servizio.
mexAddress Percorso URL dell'endpoint MEX (Metadata Exchange) del servizio.
mexBinding Nome della sezione di associazione dalla configurazione dell'applicazione per connettersi all'endpoint MEX.
mexBindingConfiguration Istanza di associazione denominata dall'interno della sezione binding denominata per connettersi all'endpoint MEX.
bindingNamespace Spazio dei nomi della sezione di associazione dal MEX recuperato.
contractNamespace Spazio dei nomi del contratto recuperato dal MEX.
mexSpnIdentity Identità del nome principale del server (SPN) da usare per comunicare con l'endpoint MEX.
mexUpnIdentity Nome principale utente (UPN) da usare per comunicare con l'endpoint MEX.
mexDnsIdentity Identità DNS da usare per comunicare con l'endpoint MEX.
serializer Specificare l'uso del serializzatore "xml" o "datacontract".

Annotazioni

Anche se usato con client completamente basati su COM, il moniker del servizio richiede l'installazione di WCF e di .NET Framework 2.0 di supporto nel computer client. È anche fondamentale che le applicazioni client che usano il moniker del servizio carichino la versione appropriata del runtime di .NET Framework. Quando si usa il moniker all'interno delle applicazioni di Office, potrebbe essere necessario un file di configurazione per assicurarsi che venga caricata la versione corretta del framework. Ad esempio, con Excel, il testo seguente deve essere inserito in un file denominato Excel.exe.config nella stessa directory del file 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>

Vedere anche