Sdílet prostřednictvím


Přehled integrace s aplikacemi modelu COM

Windows Communication Foundation (WCF) poskytuje vývojářům spravovaného kódu bohaté prostředí pro vytváření připojených aplikací. Pokud ale máte značné investice do nespravovaného kódu modelu COM a nechcete migrovat, můžete webové služby WCF integrovat přímo do stávajícího kódu pomocí monikeru služby WCF. Moniker služby lze použít z široké škály vývojových prostředí založených na modelu COM, jako je Office VBA, Visual Basic 6.0 nebo Visual C++ 6.0.

Poznámka:

Moniker služby používá komunikační kanál WCF pro veškerou komunikaci. Mechanismy zabezpečení a identit pro tento kanál se liší od mechanismů používaných ve standardních proxy serverech modelu COM a DCOM. Vzhledem k tomu, že moniker služby používá komunikační kanál WCF, výchozí časové období časového limitu je jedna minuta pro všechna volání.

Moniker služby se používá s GetObject funkcí, která poskytuje nespravovanému vývojáři přístup specifický pro silné typy modelu COM pro volání webových služeb WCF. To vyžaduje místní definici modelu COM viditelné kontraktu webové služby WCF a vazbu, která se má použít. Stejně jako ostatní klienti WCF musí moniker služby vytvořit typový kanál do služby, ačkoli tato konstrukce kanálu se transparentně provádí programátor modelu COM při prvním volání metody.

U jiných klientů WCF při použití monikeru aplikace určují adresu, vazbu a kontrakt pro komunikaci se službou. Kontrakt lze zadat jedním z následujících způsobů:

  • Typový kontrakt – kontrakt je registrován jako viditelný typ modelu COM na klientském počítači.

  • Kontrakt WSDL – kontrakt je dodáván ve formě dokumentu WSDL.

  • Kontrakt MEX – kontrakt se načte za běhu z koncového bodu MeX (Metadata Exchange).

Parametry podporované monikerem služby

V následující tabulce jsou uvedeny parametry podporované monikerem služby.

Parametr Popis
address Umístění adresy URL služby
binding Název oddílu vazby z konfigurace aplikace
bindingConfiguration Pojmenovaná instance vazby z oddílu pojmenované vazby.
contract Identifikátor rozhraní (IID), který představuje kontrakt služby nebo název smlouvy (z MEX).
wsdl Dokument WSDL, který poskytuje alternativní formu definice kontraktu.
spnIdentity Identita hlavního názvu serveru (SPN), která se má použít ke komunikaci se službou.
upnIdentity Identita hlavního názvu uživatele (UPN), která se má použít ke komunikaci se službou.
dnsIdentity Identita DNS, která se má použít ke komunikaci se službou.
mexAddress Umístění adresy URL koncového bodu serveru MEX (Metadata Exchange) služby
mexBinding Název oddílu vazby z konfigurace aplikace pro připojení ke koncovému bodu MEX.
mexBindingConfiguration Pojmenovaná instance vazby z oddílu pojmenované vazby pro připojení ke koncovému bodu MEX.
bindingNamespace Obor názvů oddílu vazby z načteného souboru MEX
contractNamespace Obor názvů kontraktu z načteného MEX.
mexSpnIdentity Identita hlavního názvu serveru (SPN), která se má použít ke komunikaci s koncovým bodem MEX.
mexUpnIdentity Identita hlavního názvu uživatele (UPN), která se má použít ke komunikaci s koncovým bodem MEX.
mexDnsIdentity Identita DNS, která se má použít ke komunikaci s koncovým bodem MEX.
serializer Zadejte použití serializátoru "xml" nebo "datacontract".

Poznámka:

I když se používá s úplně klienty založenými na modelu COM, moniker služby vyžaduje WCF a podporu rozhraní .NET Framework 2.0, které se mají nainstalovat do klientského počítače. Je také důležité, aby klientské aplikace, které používají moniker služby, načetly odpovídající verzi modulu runtime rozhraní .NET Framework. Při použití monikeru v rámci aplikace Office lications může být vyžadován konfigurační soubor, aby se zajistilo, že je načtena správná verze architektury. Například v Excelu by měl být následující text umístěn do souboru s názvem Excel.exe.config ve stejném adresáři jako soubor 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>

Viz také