ServiceThrottlingBehavior Klass

Definition

Konfigurerar dataflödesinställningar för körning som gör att du kan justera tjänstens prestanda.

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
Arv
ServiceThrottlingBehavior
Implementeringar

Exempel

I följande kodexempel visas användningen av ServiceThrottlingBehavior från en programkonfigurationsfil som anger MaxConcurrentSessionsegenskaperna , MaxConcurrentCallsoch MaxConcurrentInstances till 1 som exempel. Verklig upplevelse avgör vilka de optimala inställningarna är för ett visst program.

<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>

Kommentarer

ServiceThrottlingBehavior Använd klassen för att styra olika dataflödesinställningar som förhindrar att programmet får slut på minne.

Egenskapen MaxConcurrentCalls begränsar antalet meddelanden som för närvarande bearbetas i en ServiceHost.

Egenskapen MaxConcurrentInstances begränsar antalet InstanceContext objekt som körs samtidigt i en ServiceHost.

Egenskapen MaxConcurrentSessions begränsar antalet sessioner som ett ServiceHost objekt kan acceptera.

Eftersom belastningsutjämning för körning kräver erfarenhet av att köra programmet, är användning av ServiceThrottlingBehavior via en programkonfigurationsfil den vanligaste metoden för att ändra körningen för att maximera tjänstens prestanda.

Note

En spårning skrivs varje gång värdet för dessa egenskaper nås. Den första spårningen skrivs som en varning.

Du kan också ange värdena för det här attributet med hjälp av elementet< serviceThrottling> i en programkonfigurationsfil.

Konstruktorer

Name Description
ServiceThrottlingBehavior()

Initierar en ny instans av ServiceThrottlingBehavior klassen.

Egenskaper

Name Description
MaxConcurrentCalls

Hämtar eller anger ett värde som anger det maximala antalet meddelanden som aktivt bearbetas i en ServiceHost.

MaxConcurrentInstances

Hämtar eller anger ett värde som anger det maximala antalet InstanceContext objekt i tjänsten som kan köras samtidigt.

MaxConcurrentSessions

Hämtar eller anger ett värde som anger det maximala antalet sessioner som ett ServiceHost objekt kan acceptera samtidigt.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Konfigurerar bindningarna för att stödja tjänstens beteende.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Konfigurerar tjänsten för att stödja tjänstens beteende.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Verifierar att tjänsten och värden kan stödja tjänstens beteende.

Gäller för