Kapsamlarla Keşif Örneği

DiscoveryWithScopes örneği, bulunabilir uç noktaları kategorilere ayırmak için kapsamların nasıl kullanılacağını ve uç noktalar için zaman uyumsuz arama gerçekleştirmek için nasıl kullanılacağını DiscoveryClient gösterir. Hizmette, bu örnek, uç noktaya bir kapsam eklemek ve uç noktanın keşfedilebilirliğini kontrol etmek için bir uç nokta bulma davranışı ekleyerek her uç nokta için keşfi özelleştirmeyi gösterir. İstemcide, örnek, istemcilerin DiscoveryClient oluşturup, kapsamları ekleyerek arama parametrelerini FindCriteria ile ince ayar yapabileceklerini ele alır. Bu örnek ayrıca istemcilerin sonlandırma ölçütü ekleyerek yanıtları nasıl kısıtladığını gösterir.

Hizmet Özellikleri

Bu proje, öğesine ServiceHosteklenen iki hizmet uç noktasını gösterir. Her uç noktanın kendisiyle ilişkilendirilmiş bir EndpointDiscoveryBehavior noktası vardır. Bu davranış, her iki uç nokta için de URI kapsamları eklemek için kullanılır. Kapsamlar, istemcilerin aramayı ince ayar edebilmesi için bu uç noktaların her birini ayırt etmek için kullanılır. İkinci uç nokta için, Enabled özelliği false olarak ayarlanarak bulunabilirlik devre dışı bırakılabilir. Bu, bu uç noktayla ilişkili bulma meta verilerinin hiçbir bulma iletisinin parçası olarak gönderilmemesini sağlar.

İstemci Özellikleri

FindCalculatorServiceAddress() yöntemi, iki kısıtlamayla DiscoveryClient kullanmayı ve bir FindCriteria geçmeyi gösterir. Ölçütlere bir kapsam eklenir ve MaxResults özelliği 1 olarak ayarlanır. Kapsam, sonuçları yalnızca aynı kapsamı yayımlayan hizmetlerle sınırlar. MaxResults 1 olarak ayarlandığında, DiscoveryClient en fazla 1 uç noktadan yanıt almayı bekler. Zaman uyumlu bir işlem olan Find çağrısı, bir uç nokta bulunana veya zaman aşımına ulaşılana kadar iş parçacığını engeller.

Bu örneği kullanmak için

  1. Bu örnek HTTP uç noktalarını kullanır ve bu örneği çalıştırmak için uygun URL ACL'lerinin eklenmesi gerekir. Daha fazla bilgi için bkz . HTTP ve HTTPS'yi yapılandırma. Yükseltilmiş bir ayrıcalıkta aşağıdaki komutun yürütülmesi uygun ACL'leri eklemelidir. Komut çalışmadığında, Alan Adınızı ve Kullanıcı Adınızı aşağıdaki bağımsız değişkenlerle değiştirmek isteyebilirsiniz: netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%

  2. Çözümü oluşturun.

  3. Üretim dizininden servis çalışan dosyasını çalıştırın.

  4. İstemci yürütülebilir dosyasını çalıştırın. İstemcinin hizmeti bulabileceğini unutmayın.