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