ServiceThrottle.MaxConcurrentCalls Свойство

Определение

Возвращает или задает максимальное количество сообщений, которые могут одновременно обрабатываться во всех объектах диспетчера в объекте ServiceHost.Gets or sets the maximum number of messages actively processing across all dispatcher objects in a ServiceHost.

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

Значение свойства

Верхний предел активных сообщений в службе.The upper limit of active messages in the service. Значение по умолчанию — 16 х число процессоров в компьютере.The default is 16 * number of processors in the computer.

Примеры

В следующем примере кода демонстрируется типовое использование объекта ServiceThrottle путем указания поведения ServiceThrottlingBehavior в файле конфигурации приложения.The following code example shows the typical use of the ServiceThrottle by referencing the ServiceThrottlingBehavior in an application configuration file. В данном случае указанные значения обеспечивают обработку не более одного сообщения одновременно от одного подключения к одному объекту InstanceContext.In this case, the values that are specified establish, at most, one message processing at one time from one connection to one InstanceContext. Реальное использование определяется фактическими условиями.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>

Комментарии

Свойство MaxConcurrentCalls задает максимальное количество одновременно обрабатываемых сообщений во всех объектах диспетчера в объекте ServiceHost.The MaxConcurrentCalls property specifies the maximum number of messages actively processing across all the dispatcher objects in a ServiceHost object. Каждый канал может иметь одно ожидающее сообщение, которое не MaxConcurrentCalls будет считаться значением до тех пор, пока Windows Communication Foundation (WCF) не начнет его обработать.Each channel can have one pending message that does not count against the value of MaxConcurrentCalls until Windows Communication Foundation (WCF) begins to process it.

Примечание

Каждый раз при превышении значения этого свойства происходит запись трассировки.A trace is written every time the value of this property is exceeded.

Применяется к