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 из файла конфигурации приложения, который, в качестве примера, устанавливает значение, равное 1 для свойств MaxConcurrentSessions, MaxConcurrentCalls, MaxConcurrentInstances. Оптимальные параметры для каждого конкретного приложения определяются фактическими условиями.
<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) |
Проверяет, что служба и узел могут поддерживать поведение службы. |