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.
Contoh ReliableSession menunjukkan cara mengonfigurasi ikatan khusus dengan berbagai elemen transportasi dan pengkodean pesan, terutama untuk memungkinkan sesi yang andal. Pengikatan kustom didefinisikan oleh daftar elemen pengikatan diskrit yang diurutkan.
Detail Sampel
Sesi andal menyediakan fitur untuk pengiriman pesan yang andal dan sesi. Pesan yang andal mengulangi komunikasi saat terjadi kegagalan dan memungkinkan penentuan jaminan pengiriman, seperti urutan kedatangan pesan. Sesi mempertahankan status untuk klien di antara panggilan. Sampel menerapkan sesi-sesi untuk mempertahankan status klien dan menentukan jaminan pengiriman sesuai urutan. Sampel didasarkan pada Memulai yang mengimplementasikan layanan kalkulator. Fitur sesi yang andal diaktifkan dan dikonfigurasi dalam file konfigurasi aplikasi untuk klien dan layanan.
Nota
Prosedur penyusunan dan instruksi build untuk sampel ini terletak di akhir topik ini.
Urutan elemen pengikatan penting dalam menentukan pengikatan kustom, karena masing-masing mewakili lapisan dalam tumpukan saluran (lihat Pengikatan Kustom).
Konfigurasi layanan untuk sampel didefinisikan seperti yang ditunjukkan dalam contoh kode berikut.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service
name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<!-- This endpoint is exposed at the base address provided by host: http://localhost/servicemodelsamples/service.svc -->
<!-- specify customBinding binding and a binding configuration to use -->
<endpoint address=""
binding="customBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- The mex endpoint is exposed at http://localhost/servicemodelsamples/service.svc/mex -->
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<!-- custom binding configuration - configures HTTP transport, reliable sessions -->
<bindings>
<customBinding>
<binding name="Binding1">
<reliableSession />
<security authenticationMode="SecureConversation"
requireSecurityContextCancellation="true">
</security>
<compositeDuplex />
<oneWay />
<textMessageEncoding messageVersion="Soap12WSAddressing10" writeEncoding="utf-8" />
<httpTransport authenticationScheme="Anonymous" bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
proxyAuthenticationScheme="Anonymous" realm=""
useDefaultWebProxy="true" />
</binding>
</customBinding>
</bindings>
<!--For debugging purposes set the includeExceptionDetailInFaults attribute to true-->
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Saat berjalan dalam skenario lintas komputer, Anda harus mengubah alamat titik akhir klien untuk mencerminkan nama host layanan.
Saat Anda menjalankan sampel, permintaan dan respons operasi ditampilkan di jendela konsol klien. Tekan ENTER di jendela klien untuk mematikan 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
Instal ASP.NET 4.0 menggunakan perintah berikut:
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enablePastikan 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.
Penting
Saat menjalankan klien dalam konfigurasi lintas komputer, pastikan untuk mengganti "localhost" di
addressatribut <endpoint> danclientBaseAddressatribut <compositeDuplex> dengan nama komputer yang sesuai, seperti yang ditunjukkan dalam contoh berikut.<endpoint name = "" address="http://service_machine_name/servicemodelsamples/service.svc" /> <compositeDuplex clientBaseAddress="http://client_machine_name:8000/myClient/" />