Bagikan melalui


ServiceThrottlingBehavior Kelas

Definisi

Mengonfigurasi pengaturan throughput run-time yang memungkinkan Anda menyetel performa layanan.

public ref class ServiceThrottlingBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceThrottlingBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceThrottlingBehavior = class
    interface IServiceBehavior
Public Class ServiceThrottlingBehavior
Implements IServiceBehavior
Warisan
ServiceThrottlingBehavior
Penerapan

Contoh

Contoh kode berikut menunjukkan penggunaan ServiceThrottlingBehavior dari file konfigurasi aplikasi yang mengatur MaxConcurrentSessionsproperti , , MaxConcurrentCallsdan MaxConcurrentInstances ke 1 sebagai contoh. Pengalaman dunia nyata menentukan apa pengaturan optimal untuk aplikasi tertentu.

<configuration>
  <appSettings>
    <!-- use appSetting to configure base address provided by host -->
    <add key="baseAddress" value="http://localhost:8080/ServiceMetadata" />
  </appSettings>
  <system.serviceModel>
    <services>
      <service 
        name="Microsoft.WCF.Documentation.SampleService"
        behaviorConfiguration="Throttled" >
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/SampleService"/>
          </baseAddresses>
        </host>
        <endpoint
          address=""
          binding="wsHttpBinding"
          contract="Microsoft.WCF.Documentation.ISampleService"
         />
        <endpoint
          address="mex"
          binding="mexHttpBinding"
          contract="IMetadataExchange"
         />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior  name="Throttled">
          <serviceThrottling 
            maxConcurrentCalls="1" 
            maxConcurrentSessions="1" 
            maxConcurrentInstances="1"
          />
          <serviceMetadata 
            httpGetEnabled="true" 
            httpGetUrl=""
          />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

Keterangan

ServiceThrottlingBehavior Gunakan kelas untuk mengontrol berbagai pengaturan throughput yang membantu mencegah aplikasi Anda kehabisan memori.

Properti MaxConcurrentCalls membatasi jumlah pesan yang saat ini diproses di seluruh ServiceHost.

Properti MaxConcurrentInstances membatasi jumlah InstanceContext objek yang dijalankan pada satu waktu di seluruh ServiceHost.

Properti MaxConcurrentSessions membatasi jumlah sesi yang ServiceHost dapat diterima objek.

Karena penyeimbangan beban run-time memerlukan pengalaman menjalankan aplikasi, menggunakan ServiceThrottlingBehavior melalui file konfigurasi aplikasi adalah metode paling umum untuk memodifikasi eksekusi untuk memaksimalkan performa layanan.

Nota

Jejak ditulis setiap kali nilai properti ini tercapai. Jejak pertama ditulis sebagai peringatan.

Anda juga dapat mengatur nilai atribut ini dengan menggunakan <elemen serviceThrottling> dalam file konfigurasi aplikasi.

Konstruktor

Nama Deskripsi
ServiceThrottlingBehavior()

Menginisialisasi instans baru dari kelas ServiceThrottlingBehavior.

Properti

Nama Deskripsi
MaxConcurrentCalls

Mendapatkan atau menetapkan nilai yang menentukan jumlah maksimum pesan yang diproses secara aktif di seluruh ServiceHost.

MaxConcurrentInstances

Mendapatkan atau menetapkan nilai yang menentukan jumlah InstanceContext maksimum objek dalam layanan yang dapat dijalankan pada satu waktu.

MaxConcurrentSessions

Mendapatkan atau menetapkan nilai yang menentukan jumlah maksimum sesi yang ServiceHost dapat diterima objek pada satu waktu.

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Mengonfigurasi pengikatan untuk mendukung perilaku layanan.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Mengonfigurasi layanan untuk mendukung perilaku layanan.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Memvalidasi bahwa layanan dan host dapat mendukung perilaku layanan.

Berlaku untuk