Megosztás:


Felfedezés teleszkóp-mintával

A DiscoveryWithScopes-minta bemutatja, hogyan használhatók hatókörök a felderíthető végpontok kategorizálására, valamint hogyan használhatók DiscoveryClient a végpontok aszinkron keresésére. A szolgáltatásban ez a minta bemutatja, hogyan szabhatja testre az egyes végpontok felderítését úgy, hogy hozzáad egy végpontfelderítési viselkedést, és ezzel hatókört ad hozzá a végponthoz, valamint szabályozza a végpont felderíthetőségét. Az ügyfélen a minta azt mutatja be, hogyan hozhatnak létre ügyfelek egy DiscoveryClient-t, és hogyan finomhangolhatják a keresési paramétereket a hatókörök hozzáadásával a FindCriteria-hoz. Ez a minta azt is bemutatja, hogy az ügyfelek hogyan korlátozhatják a válaszokat egy megszüntetési feltétel hozzáadásával.

Szolgáltatásfunkciók

Ez a projekt két szolgáltatásvégpontot ad hozzá egy ServiceHost elemhez. Minden végponthoz van EndpointDiscoveryBehavior társítva. Ez a viselkedés URI-hatókörök hozzáadására szolgál mindkét végponthoz. A hatókörök az egyes végpontok megkülönböztetésére szolgálnak, hogy az ügyfelek finomhangolhassák a keresést. A második végpont esetében a felderíthetőség letiltható a Enabled tulajdonság falsebeállításával. Ez biztosítja, hogy a végponthoz társított felderítési metaadatok nem lesznek elküldve a felderítési üzenetek részeként.

Ügyfélfunkciók

A FindCalculatorServiceAddress() módszer bemutatja, hogyan használható egy DiscoveryClient, és hogyan lehet egy FindCriteria-t átadni két korlátozással. A rendszer hozzáad egy hatókört a feltételekhez, és a MaxResults tulajdonság értéke 1. A hatókör csak azokra a szolgáltatásokra korlátozza az eredményeket, amelyek ugyanazt a hatókört közzéteszik. Az 1 értékre állítás MaxResults legfeljebb egy végpontra korlátozza a DiscoveryClient válaszokra való várakozást. A Find hívás egy szinkron művelet, amely blokkolja a szálat, amíg el nem éri az időtúllépést, vagy egy végpontot nem talál.

A minta használata

  1. Ez a minta HTTP-végpontokat használ, és a minta futtatásához hozzá kell adni a megfelelő URL-hozzáférés-vezérlési listákat. További információ: HTTP és HTTPS konfigurálása. Ha a következő parancsot emelt szintű jogosultsággal hajtja végre, hozzá kell adnia a megfelelő ACL-eket. Amennyiben a parancs nem működik így, cserélje le a domain nevet és a felhasználónevet a következő argumentumokra: netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%

  2. Hozza létre a megoldást.

  3. Futtassa a végrehajtható szolgáltatást a buildkönyvtárból.

  4. Futtassa az ügyfél-végrehajtható fájlt. Vegye figyelembe, hogy az ügyfél képes megtalálni a szolgáltatást.