Moniker usługi Windows Communication Foundation (WCF) umożliwia aplikacjom COM wywoływanie usług WCF. Większość usług WCF wymaga od klienta określenia poświadczeń na potrzeby uwierzytelniania i autoryzacji. Podczas wywoływania usługi WCF z klienta programu WCF można określić te poświadczenia w kodzie zarządzanym lub w pliku konfiguracji aplikacji. Podczas wywoływania usługi WCF z aplikacji COM można użyć interfejsu IChannelCredentials w celu określenia poświadczeń. W tym temacie przedstawiono różne sposoby określania poświadczeń przy użyciu interfejsu IChannelCredentials .
Uwaga
IChannelCredentials jest interfejsem opartym na protokole IDispatch i nie uzyskasz funkcji IntelliSense w środowisku programu Visual Studio.
Uruchom plik Setup.bat w katalogu Message Security, aby utworzyć i zainstalować wymagane certyfikaty testowe.
Otwórz projekt Message Security.
Dodaj [ServiceBehavior(Namespace="http://Microsoft.ServiceModel.Samples")] do definicji interfejsu ICalculator .
Dodaj bindingNamespace="http://Microsoft.ServiceModel.Samples" do tagu punktu końcowego w pliku App.config dla usługi.
Skompiluj przykład zabezpieczeń komunikatów i uruchom Service.exe. Przejdź do identyfikatora URI usługi (http://localhost:8000/ServiceModelSamples/Service), aby upewnić się, że usługa działa.
Otwórz program Visual Basic 6.0 i utwórz nowy plik .exe w warstwie Standardowa. Dodaj przycisk do formularza i kliknij dwukrotnie przycisk, aby dodać następujący kod do programu obsługi kliknięć:
Aby to wywołanie działało, certyfikat klienta musi być zaufany na maszynie, na którym działa klient.
Uwaga
Jeśli moniker jest źle sformułowany lub jeśli usługa jest niedostępna, wywołanie GetObject metody zwróci błąd z komunikatem "Nieprawidłowa składnia". Jeśli wystąpi ten błąd, upewnij się, że używany pseudonim jest poprawny i usługa jest dostępna.
Aby określić nazwę użytkownika i hasło
Zmodyfikuj plik App.config usługi, aby użyć polecenia wsHttpBinding. Jest to wymagane w przypadku sprawdzania poprawności nazwy użytkownika i hasła:
Ustaw wartość clientCredentialType UserName:
Otwórz program Visual Basic 6.0 i utwórz nowy plik .exe w warstwie Standardowa. Dodaj przycisk do formularza i kliknij dwukrotnie przycisk, aby dodać następujący kod do programu obsługi kliknięć:
Uruchom aplikację Visual Basic i sprawdź wyniki. Aplikacja Języka Visual Basic wyświetli pole komunikatu z wynikiem wywołania metody Add(3, 4).
Uwaga
Powiązanie określone w moniker usługi w tym przykładzie zostało zmienione na WSHttpBinding_ICalculator. Należy również pamiętać, że w wywołaniu SetUserNameCredential(String, String)należy podać prawidłową nazwę użytkownika i hasło.
Aby określić poświadczenia systemu Windows
Ustaw clientCredentialType wartość Windows w pliku App.config usługi:
Otwórz program Visual Basic 6.0 i utwórz nowy plik .exe w warstwie Standardowa. Dodaj przycisk do formularza i kliknij dwukrotnie przycisk, aby dodać następujący kod do programu obsługi kliknięć:
Uruchom aplikację Visual Basic i sprawdź wyniki. Aplikacja Języka Visual Basic wyświetli pole komunikatu z wynikiem wywołania metody Add(3, 4).
Uwaga
Musisz zastąpić ciąg "domena", "userID" i "password" prawidłowymi wartościami.
Aby określić token problemu
Tokeny wystawiania są używane tylko w przypadku aplikacji korzystających z zabezpieczeń federacyjnych. Aby uzyskać więcej informacji na temat zabezpieczeń federacyjnych, zobacz Federacja i wystawione tokeny i przykład federacji.