ServiceThrottle.MaxConcurrentSessions Propriedade

Definição

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.

public:
 property int MaxConcurrentSessions { int get(); void set(int value); };
public int MaxConcurrentSessions { get; set; }
member this.MaxConcurrentSessions : int with get, set
Public Property MaxConcurrentSessions As Integer

Valor da propriedade

O número máximo de sessões que um host de serviço aceita.The maximum number of sessions a service host accepts. O padrão é 100 * número de processadores no computador.The default is 100 * number of processors in the computer.

Exemplos

O exemplo de código a seguir mostra o uso típico ServiceThrottle do referenciando ServiceThrottlingBehavior o em um arquivo de configuração de aplicativo.The following code example shows the typical use of the ServiceThrottle by referencing the ServiceThrottlingBehavior in an application configuration file. Nesse caso, os valores especificados estabelecem, no máximo, um processamento de mensagem de uma só vez de uma conexão com um InstanceContext.In this case, the values that are specified establish, at most, one message processing at one time from one connection to one InstanceContext. O uso do mundo real deve ser determinado por meio da experiência.Real-world usage must be determined through experience.

<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

A MaxConcurrentSessions propriedade especifica o número máximo de canais que ServiceHost um pode aceitar.The MaxConcurrentSessions property specifies the maximum number of channels a ServiceHost can accept. Cada objeto de ouvinte pode ter um canal pendente que não conta com o valor MaxConcurrentSessions de até que o WCF aceite o canal e comece a processar mensagens nele.Each listener object can have one pending channel that does not count against the value of MaxConcurrentSessions until WCF accepts the channel and begins processing messages on it. Essa propriedade é mais útil em cenários que fazem uso de sessões.This property is most useful in scenarios that make use of sessions.

Observação

Um rastreamento é gravado toda vez que o valor dessa propriedade é excedido.A trace is written every time the value of this property is exceeded. O primeiro rastreamento é gravado como um aviso.The first trace is written as a warning.

Para obter mais informações sobre sessões, consulte usando sessões.For more information about sessions, see Using Sessions.

Normalmente, essa propriedade é definida usando a ServiceThrottlingBehavior.MaxConcurrentSessions propriedade.Typically, this property is set using the ServiceThrottlingBehavior.MaxConcurrentSessions property.

Aplica-se a