Penemuan dengan Sampel Teropong

Sampel DiscoveryWithScopes menunjukkan cara menggunakan cakupan untuk mengategorikan titik akhir yang dapat ditemukan serta cara menggunakan DiscoveryClient untuk melakukan pencarian asinkron untuk titik akhir. Pada layanan, sampel ini menunjukkan cara menyesuaikan penemuan untuk setiap titik akhir dengan menambahkan perilaku penemuan titik akhir dan menggunakannya untuk menambahkan cakupan ke titik akhir serta mengontrol penemuan titik akhir. Pada klien, sampel menjelaskan bagaimana klien dapat membuat DiscoveryClient dan menyempurnakan parameter pencarian untuk menyertakan cakupan dengan menambahkan cakupan ke FindCriteria. Sampel ini juga menunjukkan bagaimana klien dapat membatasi respons dengan menambahkan kriteria penghentian.

Fitur Layanan

Proyek ini memperlihatkan dua endpoint layanan yang ditambahkan ke ServiceHost. Setiap titik akhir memiliki EndpointDiscoveryBehavior yang terkait. Perilaku ini digunakan untuk menambahkan cakupan URI untuk kedua titik akhir. Cakupan digunakan untuk membedakan masing-masing titik akhir ini sehingga klien dapat menyempurnakan pencarian. Untuk endpoint kedua, kapabilitas penemuan dapat dinonaktifkan dengan mengatur properti Enabled ke false. Ini memastikan bahwa metadata penemuan yang terkait dengan titik akhir ini tidak dikirim sebagai bagian dari pesan penemuan apa pun.

Fitur Klien

Metode ini FindCalculatorServiceAddress() menunjukkan cara menggunakan DiscoveryClient dan menyertakan FindCriteria dengan dua batasan. Cakupan ditambahkan ke kriteria dan properti MaxResults disetel ke 1. Cakupan membatasi hasil hanya pada layanan yang menerbitkan cakupan yang sama. Menetapkan MaxResults ke 1 membatasi jumlah respons yang dapat ditunggu oleh DiscoveryClient hingga paling banyak 1 titik akhir. Panggilan Find adalah operasi sinkron yang memblokir utas hingga batas waktu tercapai atau satu titik akhir ditemukan.

Untuk menggunakan sampel ini

  1. Sampel ini menggunakan titik akhir HTTP dan untuk menjalankan sampel ini, ACL URL yang tepat harus ditambahkan. Untuk informasi selengkapnya, lihat Mengonfigurasi HTTP dan HTTPS. Menjalankan perintah berikut pada hak istimewa yang ditingkatkan harus menambahkan ACL yang sesuai. Anda mungkin ingin mengganti Domain dan Nama Pengguna Anda untuk argumen berikut jika perintah tidak berfungsi apa adanya: netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%

  2. Bangun solusinya.

  3. Jalankan layanan yang dapat dieksekusi dari direktori build.

  4. Jalankan klien yang dapat dieksekusi. Perhatikan bahwa klien dapat menemukan layanan.