Sdílet prostřednictvím


Ukázka zjišťování pomocí oborů

Ukázka DiscoveryWithScopes ukazuje, jak pomocí oborů kategorizovat zjistitelné koncové body a jak provádět DiscoveryClient asynchronní vyhledávání koncových bodů. Tato ukázka ve službě ukazuje, jak přizpůsobit zjišťování pro každý koncový bod přidáním chování zjišťování koncových bodů a jeho použitím k přidání oboru do koncového bodu a také řízení zjistitelnosti koncového bodu. V klientovi ukázka popisuje, jak můžou klienti vytvořit DiscoveryClient a vyladit parametry hledání tak, aby zahrnovaly obory přidáním oborů do objektu FindCriteria. Tato ukázka také ukazuje, jak můžou klienti omezit odpovědi přidáním kritéria ukončení.

Servisní funkce

Tento projekt zobrazuje dva koncové body služby, které se přidávají do ServiceHost. Ke každému koncovému EndpointDiscoveryBehavior bodu je přidružený. Toto chování se používá k přidání oborů identifikátoru URI pro oba koncové body. Obory se používají k rozlišení každého z těchto koncových bodů, aby klienti mohli hledání vyladit. U druhého koncového bodu může být zjistitelnost zakázána nastavením Enabled vlastnosti na falsehodnotu . Tím se zajistí, že se metadata zjišťování přidružená k tomuto koncovému bodu neodesílají jako součást zpráv zjišťování.

Funkce klienta

Metoda FindCalculatorServiceAddress() ukazuje, jak použít DiscoveryClient a předat s FindCriteria dvěma omezeními. Do kritérií se přidá obor a vlastnost je nastavena MaxResults na hodnotu 1. Obor omezuje výsledky jenom na služby, které publikují stejný obor. Nastavení MaxResults na 1 omezuje odpovědi DiscoveryClient , na které se čeká maximálně na 1 koncový bod. Volání Find je synchronní operace, která blokuje vlákno, dokud nedosáhnete časového limitu nebo se nenajde jeden koncový bod.

Použití této ukázky

  1. Tato ukázka používá koncové body HTTP a ke spuštění této ukázky je nutné přidat správné seznamy ACL adres URL. Další informace najdete v tématu Konfigurace PROTOKOLU HTTP a HTTPS. Spuštěním následujícího příkazu se zvýšenými oprávněními by se měly přidat příslušné seznamy ACL. Pokud příkaz nefunguje tak, jak je, může být vhodné nahradit doménu a uživatelské jméno následujícími argumenty: netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%

  2. Sestavte řešení.

  3. Spusťte spustitelný soubor služby z adresáře sestavení.

  4. Spusťte spustitelný soubor klienta. Všimněte si, že klient dokáže službu najít.