ServiceThrottlingBehavior Klas

Definitie

Hiermee configureert u runtimedoorvoerinstellingen waarmee u de serviceprestaties kunt afstemmen.

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
Overname
ServiceThrottlingBehavior
Implementeringen

Voorbeelden

In het volgende codevoorbeeld ziet u het gebruik van ServiceThrottlingBehavior een toepassingsconfiguratiebestand waarmee de MaxConcurrentSessions, MaxConcurrentCallsen MaxConcurrentInstances eigenschappen worden ingesteld op 1 als voorbeeld. Ervaring in de praktijk bepaalt wat de optimale instellingen zijn voor een bepaalde toepassing.

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

Opmerkingen

Gebruik de ServiceThrottlingBehavior klasse om verschillende doorvoerinstellingen te beheren die helpen voorkomen dat uw toepassing onvoldoende geheugen heeft.

De MaxConcurrentCalls eigenschap beperkt het aantal berichten dat momenteel wordt verwerkt in een ServiceHost.

De MaxConcurrentInstances eigenschap beperkt het aantal InstanceContext objecten dat tegelijk wordt uitgevoerd op een ServiceHost.

De MaxConcurrentSessions eigenschap beperkt het aantal sessies dat een ServiceHost object kan accepteren.

Omdat runtimetaakverdeling ervaring met het uitvoeren van de toepassing vereist, is het gebruik van een ServiceThrottlingBehavior toepassingsconfiguratiebestand de meest voorkomende methode om de uitvoering te wijzigen om de serviceprestaties te maximaliseren.

Note

Er wordt een tracering geschreven telkens wanneer de waarde van deze eigenschappen wordt bereikt. De eerste tracering wordt geschreven als waarschuwing.

U kunt ook de waarden van dit kenmerk instellen met behulp van het <servicebeperkingselement> in een toepassingsconfiguratiebestand.

Constructors

Name Description
ServiceThrottlingBehavior()

Initialiseert een nieuw exemplaar van de ServiceThrottlingBehavior klasse.

Eigenschappen

Name Description
MaxConcurrentCalls

Hiermee wordt een waarde opgehaald of ingesteld waarmee het maximum aantal berichten wordt opgegeven dat actief wordt verwerkt in een ServiceHost.

MaxConcurrentInstances

Hiermee wordt een waarde opgehaald of ingesteld waarmee het maximum aantal InstanceContext objecten in de service wordt opgegeven dat tegelijk kan worden uitgevoerd.

MaxConcurrentSessions

Hiermee wordt een waarde opgehaald of ingesteld waarmee het maximum aantal sessies wordt opgegeven dat een ServiceHost object tegelijk kan accepteren.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

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

Hiermee configureert u de bindingen om het servicegedrag te ondersteunen.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Hiermee configureert u de service om het servicegedrag te ondersteunen.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Valideert of de service en host het servicegedrag kunnen ondersteunen.

Van toepassing op