Bagikan melalui


Default NetTcpBinding

Sampel default menunjukkan penggunaan pengikatan NetTcpBinding. Sampel ini didasarkan pada Memulai yang mengimplementasikan layanan kalkulator. Dalam sampel ini, layanan ini di-host sendiri. Baik klien maupun layanan adalah aplikasi konsol.

Catatan

Prosedur penyiapan dan petunjuk pembuatan untuk sampel ini terdapat di akhir topik ini.

Pengikatan ditentukan dalam file konfigurasi untuk klien dan layanan. Jenis pengikatan ditentukan dalam atribut binding dari elemen <titik akhir> yang ditunjukkan dalam konfigurasi sampel berikut.

<endpoint address=""
          binding="netTcpBinding"
          contract="Microsoft.ServiceModel.Samples.ICalculator" />

Sampel sebelumnya menunjukkan cara mengonfigurasi titik akhir untuk menggunakan pengikatan netTcpBinding dengan pengaturan default. Jika Anda ingin mengonfigurasi pengikatan netTcpBinding dan mengubah beberapa pengaturannya, maka perlu untuk menentukan konfigurasi pengikatan. Titik akhir harus mereferensikan konfigurasi pengikatan berdasarkan nama dengan atribut bindingConfiguration. Dalam sampel ini, konfigurasi pengikatan diberi nama Binding1 dan didefinisikan seperti yang ditunjukkan dalam konfigurasi sampel berikut.

<services>
  <service name="Microsoft.ServiceModel.Samples.CalculatorService"
           behaviorConfiguration="CalculatorServiceBehavior">
    ...
    <endpoint address=""
              binding="netTcpBinding"
              bindingConfiguration="Binding1"
              contract="Microsoft.ServiceModel.Samples.ICalculator" />
    ...
  </service>
</services>

<bindings>
  <netTcpBinding>
    <binding name="Binding1"
             closeTimeout="00:01:00"
             openTimeout="00:01:00"
             receiveTimeout="00:10:00"
             sendTimeout="00:01:00"
             transactionFlow="false"
             transferMode="Buffered"
             transactionProtocol="OleTransactions"
             hostNameComparisonMode="StrongWildcard"
             listenBacklog="10"
             maxBufferPoolSize="524288"
             maxBufferSize="65536"
             maxConnections="10"
             maxReceivedMessageSize="65536">
      <readerQuotas maxDepth="32"
                    maxStringContentLength="8192"
                    maxArrayLength="16384"
                    maxBytesPerRead="4096"
                    maxNameTableCharCount="16384" />
      <reliableSession ordered="true"
                       inactivityTimeout="00:10:00"
                       enabled="false" />
      <security mode="Transport">
        <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
      </security>
    </binding>
  </netTcpBinding>
</bindings>

Saat Anda menjalankan sampel, permintaan dan respons operasi ditampilkan di jendela konsol klien. Tekan ENTER di jendela klien untuk mematikan komputer 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, membangun, dan menjalankan sampel

  1. Pasang ASP.NET 4.0 menggunakan perintah berikut.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Pastikan Anda telah melakukan Prosedur Penyiapan Satu Kali untuk Sampel Windows Communication Foundation.

  3. Untuk membangun solusi edisi C# atau Visual Basic .NET, ikuti petunjuknya di Membangun Sampel WCF.

  4. Untuk menjalankan sampel dalam konfigurasi satu atau lintas komputer, ikuti instruksi pada Menjalankan Sampel WCF.

    Catatan

    Karena server di-host sendiri, Anda harus menentukan identitas dalam file App.config klien untuk menjalankan sampel dalam konfigurasi lintas komputer.

    <client>
      <endpoint name=""
          address="net.tcp://servername:9000/servicemodelsamples/service"
          binding="netTcpBinding"
          contract="Microsoft.ServiceModel.Samples.ICalculator">
            <identity>
              <userPrincipalName value = "user_name@service_domain"/>
            </identity>
      </endpoint>
    </client>