Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sampel MultipleEndpoints menunjukkan cara mengonfigurasi beberapa titik akhir pada layanan dan cara berkomunikasi dengan setiap titik akhir dari klien. Sampel ini didasarkan pada Panduan Memulai. Konfigurasi layanan telah dimodifikasi untuk menentukan dua titik akhir yang mendukung ICalculator kontrak, tetapi masing-masing di alamat yang berbeda menggunakan pengikatan yang berbeda. Konfigurasi dan kode klien telah dimodifikasi untuk berkomunikasi dengan kedua titik akhir layanan.
Nota
Prosedur penyiapan dan instruksi build untuk sampel ini terletak di akhir topik ini.
File layanan Web.config telah dimodifikasi untuk menentukan dua titik akhir yang masing-masing mendukung kontrak yang sama ICalculator, tetapi berada pada alamat yang berbeda dengan menggunakan binding yang berbeda. Titik akhir pertama didefinisikan di alamat dasar menggunakan pengikatan basicHttpBinding , yang tidak mengaktifkan keamanan. Titik akhir kedua didefinisikan pada {baseaddress}/secure menggunakan binding wsHttpBinding, yang aman secara default, menggunakan WS-Security dengan autentikasi Windows.
<service
name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<!-- This endpoint is exposed at the base address provided by host:
http://localhost/servicemodelsamples/service.svc -->
<endpoint address=""
binding="basicHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- secure endpoint exposed at {base address}/secure:
http://localhost/servicemodelsamples/service.svc/secure -->
<endpoint address="secure"
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
...
</service>
Kedua titik akhir juga dikonfigurasi di klien. Titik akhir ini diberi nama sehingga pemanggil dapat meneruskan nama titik akhir yang diinginkan ke konstruktor klien.
<client>
<!-- Passing "basic" into the constructor of the CalculatorClient
class selects this endpoint.-->
<endpoint name="basic"
address="http://localhost/servicemodelsamples/service.svc"
binding="basicHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- Passing "secure" into the constructor of the CalculatorClient
class selects this endpoint.-->
<endpoint name="secure"
address="http://localhost/servicemodelsamples/service.svc/secure"
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</client>
Klien menggunakan kedua titik akhir seperti yang ditunjukkan dalam kode berikut.
static void Main()
{
// Create a client to the basic endpoint configuration.
CalculatorClient client = new CalculatorClient("basic");
Console.WriteLine("Communicate with basic endpoint.");
// call operations
DoCalculations(client);
// Close the client and release resources.
client.Close();
// Create a client to the secure endpoint configuration.
client = new CalculatorClient("secure");
Console.WriteLine("Communicate with secure endpoint.");
// Call operations.
DoCalculations(client);
// Close the client and release resources.
client.Close();
Console.WriteLine();
Console.WriteLine("Press <ENTER> to terminate client.");
Console.ReadLine();
}
Saat Anda menjalankan klien, interaksi dengan kedua titik akhir akan terlihat.
Communicate with basic endpoint.
Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Communicate with secure endpoint.
Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Press <ENTER> to terminate client.
Untuk menyiapkan, mengompilasi, dan menjalankan sampel
Pastikan Anda telah melakukan Prosedur Penyiapan One-Time untuk Sampel Windows Communication Foundation.
Untuk membangun solusi edisi C# atau Visual Basic .NET, ikuti instruksi di Membangun Sampel Windows Communication Foundation.
Untuk menjalankan sampel dalam konfigurasi satu atau lintas komputer, ikuti instruksi di Menjalankan Sampel Windows Communication Foundation.