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


ServiceThrottlingBehavior Класс

Определение

Настраивает параметры пропускной способности во время выполнения, позволяющие настроить производительность службы.

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
Наследование
ServiceThrottlingBehavior
Реализации

Примеры

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

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

Комментарии

ServiceThrottlingBehavior Используйте класс для управления различными параметрами пропускной способности, которые помогают предотвратить нехватку памяти приложения.

Свойство MaxConcurrentCalls ограничивает количество сообщений, которые в настоящее время обрабатываются в пределах ServiceHost.

Свойство MaxConcurrentInstances ограничивает количество InstanceContext объектов, которые выполняются одновременно.ServiceHost

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

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

Замечание

Трассировка записывается каждый раз, когда достигается значение этих свойств. Первая трассировка записывается как предупреждение.

Можно также задать значения этого атрибута с помощью <элемента serviceThrottling> в файле конфигурации приложения.

Конструкторы

Имя Описание
ServiceThrottlingBehavior()

Инициализирует новый экземпляр класса ServiceThrottlingBehavior.

Свойства

Имя Описание
MaxConcurrentCalls

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

MaxConcurrentInstances

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

MaxConcurrentSessions

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

Методы

Имя Описание
Equals(Object)

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

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

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

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

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

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

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

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

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

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

Явные реализации интерфейса

Имя Описание
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Настраивает привязки для поддержки поведения службы.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Настраивает службу для поддержки поведения службы.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

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

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