ServiceThrottle.MaxConcurrentCalls Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает максимальное количество сообщений, которые могут одновременно обрабатываться во всех объектах диспетчера в объекте 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
Значение свойства
Верхний предел активных сообщений в службе. Значение по умолчанию — 16 х число процессоров в компьютере.
Примеры
В следующем примере кода демонстрируется типовое использование объекта 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>
Комментарии
Свойство MaxConcurrentCalls задает максимальное количество одновременно обрабатываемых сообщений во всех объектах диспетчера в объекте ServiceHost. Каждый канал может иметь одно ожидающее сообщение, которое не учитывается в значении MaxConcurrentCalls до тех пор, пока Windows Communication Foundation (WCF) не начнет обрабатывать его.
Примечание
Каждый раз при превышении значения этого свойства происходит запись трассировки.