Udostępnij za pomocą


Integrowanie z aplikacjami COM — omówienie

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 / Notatka

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 dostarczenia niezarządzanemu deweloperowi silnie typizowanego podejścia specyficznego dla COM 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 w przypadku innych klientów WCF, moniker usługi musi skonstruować typowany kanał do usługi, chociaż konstrukcja tego 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 COM widoczny na komputerze klienckim.

  • 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 identyfikator 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 wymiany danych 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ść użytkownika jako główna nazwa (UPN), która będzie używana do komunikacji 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 / Notatka

Nawet gdy jest używany z klientami opartymi wyłącznie na modelu COM, moniker usługi wymaga zainstalowania WCF i .NET Framework 2.0 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 korzystania z pseudonimu w aplikacjach pakietu Office 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 także