Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przykładzie DiscoveryWithScopes pokazano, jak używać zakresów do kategoryzowania możliwych do odnalezienia punktów końcowych, a także jak używać DiscoveryClient ich do przeprowadzania asynchronicznego wyszukiwania punktów końcowych. W usłudze w tym przykładzie pokazano, jak dostosować odnajdywanie dla każdego punktu końcowego przez dodanie zachowania odnajdywania punktu końcowego i użycie go do dodania zakresu do punktu końcowego oraz kontrolowania możliwości odnajdywania punktu końcowego. Po stronie klienta przykład pokazuje, jak klienci mogą tworzyć DiscoveryClient i dostosowywać parametry wyszukiwania, aby uwzględnić zakresy poprzez dodanie ich do elementu FindCriteria. W tym przykładzie pokazano również, jak klienci mogą ograniczać odpowiedzi, dodając kryterium zakończenia.
Funkcje usługi
Ten projekt przedstawia dwa punkty końcowe usługi dodawane do elementu ServiceHost. Z każdym punktem końcowym jest skojarzony EndpointDiscoveryBehavior. Służy to do dodawania zakresów URI dla obu punktów końcowych. Zakresy są używane do rozróżniania każdego z tych punktów końcowych, aby klienci mogli dostroić wyszukiwanie. W przypadku drugiego punktu końcowego widoczność można wyłączyć, ustawiając właściwość Enabled na false
. Dzięki temu metadane odnajdywania skojarzone z tym punktem końcowym nie są wysyłane w ramach żadnych komunikatów odnajdywania.
Funkcje klienta
Metoda FindCalculatorServiceAddress()
pokazuje, jak używać DiscoveryClient i przekazywać FindCriteria z dwoma ograniczeniami. Zakres jest dodawany do kryteriów, a właściwość jest ustawiona MaxResults na 1. Zakres ogranicza wyniki tylko do usług, które publikują ten sam zakres. Ustawienie MaxResults wartości 1 powoduje, że DiscoveryClient czeka na odpowiedzi z maksymalnie jednego punktu końcowego. Wywołanie Find jest operacją synchroniczną, która blokuje wątek do momentu osiągnięcia limitu czasu lub znalezienia jednego punktu końcowego.
Aby skorzystać z tego przykładu
W tym przykładzie użyto punktów końcowych HTTP, a do uruchomienia przykładu należy dodać odpowiednie ACL adresów URL. Aby uzyskać więcej informacji, zobacz Konfigurowanie protokołu HTTP i HTTPS. Wykonanie następującego polecenia z podwyższonym poziomem uprawnień powinno spowodować dodanie odpowiednich ACL. Możesz zastąpić domenę i nazwę użytkownika następującymi argumentami, jeśli polecenie nie działa w następujący sposób:
netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
Skompiluj rozwiązanie.
Uruchom plik wykonywalny usługi z katalogu kompilacji.
Uruchom plik wykonywalny klienta. Należy pamiętać, że klient może zlokalizować usługę.