Udostępnij za pośrednictwem


Przegląd integrowania z aplikacjami modelu COM

Program Windows Communication Foundation (WCF) udostępnia deweloperowi kodu zarządzanego rozbudowane środowisko do tworzenia połączonych aplikacji. Jeśli jednak masz znaczną inwestycję w niezarządzany kod oparty na modelu COM i nie chcesz migrować, nadal możesz zintegrować usługi sieci Web WCF bezpośrednio z istniejącym kodem przy użyciu nazwy moniker usługi WCF. Moniker usługi może być używany z szerokiej gamy środowisk programistycznych opartych na modelu COM, takich jak Office VBA, Visual Basic 6.0 lub Visual C++ 6.0.

Uwaga

Pseudonim usługi używa kanału komunikacyjnego WCF dla całej komunikacji. Mechanizmy zabezpieczeń i tożsamości dla tego kanału różnią się od tych używanych w standardowych serwerach proxy COM i DCOM. Ponadto, ponieważ moniker usługi używa kanału komunikacyjnego WCF, domyślny okres limitu czasu jest minutą dla wszystkich wywołań.

Moniker usługi jest używany z funkcją GetObject w celu zapewnienia niezarządzanego dewelopera z silnie typizowanego, specyficznego dla modelu COM podejścia do wywoływania usług internetowych WCF. Wymaga to lokalnej, widocznej w modelu COM definicji kontraktu usługi sieci Web WCF i powiązania, które ma być używane. Podobnie jak inni klienci WCF, moniker usługi musi skonstruować typowany kanał do usługi, choć ta konstrukcja kanału odbywa się w sposób niewidoczny dla programisty COM przy pierwszym wywołaniu metody.

W przypadku innych klientów programu WCF podczas korzystania z nazwy moniker aplikacje określają adres, powiązanie i kontrakt do komunikowania się z usługą. Kontrakt można określić na jeden z następujących sposobów:

  • Kontrakt wpisany — kontrakt jest rejestrowany jako typ widoczny com na maszynie klienckiej.

  • Kontrakt WSDL — kontrakt jest dostarczany w postaci dokumentu WSDL.

  • Kontrakt MEX — kontrakt jest pobierany w czasie wykonywania z punktu końcowego programu Metadata Exchange (MEX).

Parametry obsługiwane przez moniker usługi

W poniższej tabeli przedstawiono parametry obsługiwane przez moniker usługi.

Parametr Opis
address Lokalizacja adresu URL usługi.
binding Nazwa sekcji powiązania z konfiguracji aplikacji.
bindingConfiguration Nazwane wystąpienie powiązania z sekcji nazwanego powiązania.
contract Identyfikator interfejsu (IID), który reprezentuje kontrakt usługi lub nazwę kontraktu (od MEX).
wsdl Dokument WSDL, który zawiera alternatywną formę definicji kontraktu.
spnIdentity Tożsamość głównej nazwy serwera (SPN) do komunikowania się z usługą.
upnIdentity Tożsamość głównej nazwy użytkownika (UPN) do komunikowania się z usługą.
dnsIdentity Tożsamość DNS, która ma być używana do komunikowania się z usługą.
mexAddress Lokalizacja adresu URL punktu końcowego programu Metadata Exchange (MEX) usługi.
mexBinding Nazwa sekcji powiązania z konfiguracji aplikacji w celu nawiązania połączenia z punktem końcowym MEX.
mexBindingConfiguration Nazwane wystąpienie powiązania z sekcji nazwanego powiązania w celu nawiązania połączenia z punktem końcowym MEX.
bindingNamespace Przestrzeń nazw sekcji powiązania z pobranego pliku MEX.
contractNamespace Przestrzeń nazw kontraktu z pobranego pliku MEX.
mexSpnIdentity Tożsamość głównej nazwy serwera (SPN) do komunikowania się z punktem końcowym MEX.
mexUpnIdentity Tożsamość głównej nazwy użytkownika (UPN) do komunikowania się z punktem końcowym MEX.
mexDnsIdentity Tożsamość DNS, która ma być używana do komunikowania się z punktem końcowym MEX.
serializer Określ użycie serializatora "xml" lub "datacontract".

Uwaga

Nawet jeśli jest używany z całkowicie klientami opartymi na modelu COM, moniker usługi wymaga programu WCF i pomocniczego programu .NET Framework 2.0 do zainstalowania na komputerze klienckim. Ważne jest również, aby aplikacje klienckie korzystające z moniker usługi ładowały odpowiednią wersję środowiska uruchomieniowego programu .NET Framework. W przypadku używania monikera w ramach aplikacja pakietu Office lications może być wymagany plik konfiguracji, aby upewnić się, że załadowana jest poprawna wersja platformy. Na przykład w programie Excel następujący tekst powinien zostać umieszczony w pliku o nazwie Excel.exe.config w tym samym katalogu co plik 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>

Zobacz też