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 Pengalamatan menunjukkan berbagai aspek dan fitur alamat titik akhir. Sampel didasarkan pada Getting Started. Dalam sampel ini, layanan dihost sendiri. Baik layanan maupun klien adalah aplikasi konsol. Layanan ini mendefinisikan beberapa titik akhir menggunakan kombinasi alamat titik akhir relatif dan absolut.
Nota
Prosedur penyiapan dan instruksi build untuk sampel ini terletak di akhir topik ini.
File konfigurasi layanan menentukan alamat dasar dan empat titik akhir. Alamat dasar ditentukan menggunakan elemen tambahkan, di bawah service/host/baseAddresses seperti yang ditunjukkan dalam konfigurasi sampel berikut.
<service name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServiceModelSamples/service" />
</baseAddresses>
</host>
</service>
Definisi titik akhir pertama yang ditunjukkan dalam konfigurasi sampel berikut menentukan alamat relatif, yang berarti alamat titik akhir adalah kombinasi dari alamat dasar dan alamat relatif mengikuti aturan komposisi URI.
<!-- Empty relative address specified:
use the base address provided by the host. -->
<!-- The endpoint address is
http://localhost:8000/ServiceModelSamples/service. -->
<endpoint address=""
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Dalam hal ini, alamat relatif kosong (""), sehingga alamat titik akhir sama dengan alamat dasar. Alamat titik akhir aktual adalah http://localhost:8000/servicemodelsamples/service.
Definisi titik akhir kedua juga menentukan alamat relatif, seperti yang ditunjukkan dalam konfigurasi sampel berikut.
<!-- The relative address specified: use the base address -->
<!-- provided by the host + path. The endpoint address is -->
<!-- http://localhost:8000/servicemodelsamples/service/test. -->
<endpoint address="/test"
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Alamat relatif, "uji", ditambahkan ke alamat dasar. Alamat titik akhir aktual adalah http://localhost:8000/servicemodelsamples/service/test.
Definisi titik akhir ketiga menentukan alamat absolut, seperti yang ditunjukkan dalam konfigurasi sampel berikut.
<endpoint address="http://localhost:8001/hello/servicemodelsamples"
binding="wsHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Alamat dasar tidak memainkan peran dalam alamat. Alamat titik akhir aktual adalah http://localhost:8001/hello/servicemodelsamples.
Alamat titik akhir keempat menentukan alamat absolut dan transportasi yang berbeda—TCP. Alamat dasar tidak memainkan peran dalam alamat. Alamat titik akhir aktual adalah net.tcp://localhost:9000/servicemodelsamples/service.
<!-- The absolute address specified, different transport: -->
<!-- use the specified address, and ignore the base address. -->
<!-- The endpoint address is -->
<!-- net.tcp://localhost:9000/servicemodelsamples/service. -->
<endpoint address=
"net.tcp://localhost:9000/servicemodelsamples/service"
binding="netTcpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Klien hanya mengakses salah satu dari empat titik akhir layanan, tetapi keempatnya didefinisikan dalam file konfigurasinya. Klien memilih titik akhir saat membuat CalculatorProxy objek. Dengan mengubah nama konfigurasi dari CalculatorEndpoint1 melalui CalculatorEndpoint4, Anda dapat menjalankan setiap endpoint.
Saat Anda menjalankan sampel, layanan menghitung alamat, nama pengikatan, dan nama kontrak untuk setiap titik akhirnya. Titik akhir pertukaran metadata (MEX) hanyalah titik akhir lain dari perspektif ServiceHost sehingga muncul dalam daftar.
Service endpoints:
Endpoint - address: http://localhost:8000/ServiceModelSamples/service
binding: WSHttpBinding
contract: ICalculator
Endpoint - address: http://localhost:8000/ServiceModelSamples/service/test
binding: WSHttpBinding
contract: ICalculator
Endpoint - address: http://localhost:8001/hello/servicemodelsamples
binding: WSHttpBinding
contract: ICalculator
Endpoint - address: net.tcp://localhost:9000/servicemodelsamples/service
binding: NetTcpBinding
contract: ICalculator
Endpoint - address: http://localhost:8000/ServiceModelSamples/service/mex
binding: MetadataExchangeHttpBinding
contract: IMetadataExchange
The service is ready.
Press <ENTER> to terminate service.
Saat Anda menjalankan klien, permintaan dan respons operasi ditampilkan di jendela layanan dan konsol klien. Tekan ENTER di setiap jendela konsol untuk mematikan layanan dan klien.
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.
Nota
Jika Anda menggunakan Svcutil.exe untuk meregenerasi konfigurasi untuk sampel ini, pastikan untuk mengubah nama titik akhir dalam konfigurasi klien agar sesuai dengan kode klien.