ServiceThrottlingBehavior Classe

Definição

Define as configurações de taxa de transferência de tempo de execução que permitem ajustar o desempenho do serviço.Configures run-time throughput settings that enable you to tune service performance.

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
Herança
ServiceThrottlingBehavior
Implementações

Exemplos

O exemplo de código a seguir mostra o ServiceThrottlingBehavior uso de de um arquivo de configuração de MaxConcurrentSessionsaplicativo que define MaxConcurrentInstances as propriedades, MaxConcurrentCallse como 1 como um exemplo.The following code example shows the use of ServiceThrottlingBehavior from an application configuration file that sets the MaxConcurrentSessions, MaxConcurrentCalls, and MaxConcurrentInstances properties to 1 as an example. A experiência do mundo real determina quais são as configurações ideais para qualquer aplicativo específico.Real-world experience determines what the optimal settings are for any particular application.

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

Comentários

Use a ServiceThrottlingBehavior classe para controlar várias configurações de taxa de transferência que ajudam a impedir que o aplicativo fique sem memória.Use the ServiceThrottlingBehavior class to control various throughput settings that help prevent your application from running out of memory.

A MaxConcurrentCalls Propriedade limita o número de mensagens que atualmente processam em ServiceHostum.The MaxConcurrentCalls property limits the number of messages that currently process across a ServiceHost.

A MaxConcurrentInstances Propriedade limita o número de InstanceContext objetos que são executados ao mesmo tempo em ServiceHostum.The MaxConcurrentInstances property limits the number of InstanceContext objects that execute at one time across a ServiceHost.

A MaxConcurrentSessions Propriedade limita o número de sessões que ServiceHost um objeto pode aceitar.The MaxConcurrentSessions property limits the number of sessions a ServiceHost object can accept.

Como o balanceamento de carga de tempo de execução requer experiência na execução do ServiceThrottlingBehavior aplicativo, usar o por meio de um arquivo de configuração de aplicativo é o método mais comum de modificar a execução para maximizar o desempenho do serviço.Because run-time load balancing requires experience running the application, using the ServiceThrottlingBehavior through an application configuration file is the most common method of modifying execution to maximize service performance.

Observação

Um rastreamento é gravado toda vez que o valor dessas propriedades é atingido.A trace is written every time the value of these properties is reached. O primeiro rastreamento é gravado como um aviso.The first trace is written as a warning.

Você também pode definir os valores desse atributo usando o <> elemento perthrottling em um arquivo de configuração de aplicativo.You can also set the values of this attribute by using the <serviceThrottling> element in an application configuration file.

Construtores

ServiceThrottlingBehavior()

Inicializa uma nova instância da classe ServiceThrottlingBehavior.Initializes a new instance of the ServiceThrottlingBehavior class.

Propriedades

MaxConcurrentCalls

Obtém ou define um valor que especifica o número máximo de mensagens processando ativamente em um ServiceHost.Gets or sets a value that specifies the maximum number of messages actively processing across a ServiceHost.

MaxConcurrentInstances

Obtém ou define um valor que especifica o número máximo de objetos InstanceContext no serviço que podem ser executados ao mesmo tempo.Gets or sets a value that specifies the maximum number of InstanceContext objects in the service that can execute at one time.

MaxConcurrentSessions

Obtém ou define um valor que especifica o número máximo de sessões que um objeto ServiceHost pode aceitar simultaneamente.Gets or sets a value that specifies the maximum number of sessions a ServiceHost object can accept at one time.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Implantações explícitas de interface

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

Configura as associações para dar suporte ao comportamento do serviço.Configures the bindings to support the service behavior.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Configura o serviço para dar suporte ao comportamento do serviço.Configures the service to support the service behavior.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Valida que o serviço e o host podem dar suporte ao comportamento de serviço.Validates that the service and host can support the service behavior.

Aplica-se a