Поделиться через


ServiceThrottle Класс

Определение

Управляет производительностью службы для оптимизации доступности и эффективности.

public ref class ServiceThrottle sealed
public sealed class ServiceThrottle
type ServiceThrottle = class
Public NotInheritable Class ServiceThrottle
Наследование
ServiceThrottle

Примеры

В следующем примере кода демонстрируется типовое использование объекта ServiceThrottle путем указания поведения ServiceThrottlingBehavior в файле конфигурации приложения. В данном случае указанные значения обеспечивают обработку не более одного сообщения одновременно от одного подключения к одному объекту InstanceContext. Реальное использование определяется фактическими условиями.

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

Комментарии

Используйте ServiceThrottle для настройки производительности службы. Самый простой способ настроить ServiceThrottle для службы — использовать поведение ServiceThrottlingBehavior, особенно в файле конфигурации приложения.

Свойство MaxConcurrentCalls задает максимальное количество одновременно обрабатываемых сообщений во всех объектах диспетчера в объекте ServiceHost.

Свойство MaxConcurrentInstances указывает максимальное количество объектов InstanceContext в службе.

Свойство MaxConcurrentSessions задает максимальное количество сеансов, которые может принять объект ServiceHost.

Примечание

Трассировка записывается, когда в очередь в списке ожидания помещается первый вызов, объект InstanceContext или сеанс. Первая трассировка записывается как предупреждение.

Свойства

MaxConcurrentCalls

Возвращает или задает максимальное количество сообщений, которые могут одновременно обрабатываться во всех объектах диспетчера в объекте ServiceHost.

MaxConcurrentInstances

Возвращает или устанавливает максимальное число объектов службы, которые могут выполняться одновременно.

MaxConcurrentSessions

Возвращает или устанавливает значение, которое определяет максимальное количество сеансов, которые может принимать объект ServiceHost одновременно.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

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