ServiceThrottle.MaxConcurrentSessions Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или устанавливает значение, которое определяет максимальное количество сеансов, которые может принимать объект ServiceHost одновременно.
public:
property int MaxConcurrentSessions { int get(); void set(int value); };
public int MaxConcurrentSessions { get; set; }
member this.MaxConcurrentSessions : int with get, set
Public Property MaxConcurrentSessions As Integer
Значение свойства
Максимальное количество сеансов, принимаемых узлом службы. Значение по умолчанию — 100 * количество процессоров на компьютере.
Примеры
В следующем примере кода демонстрируется типовое использование объекта 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>
Комментарии
Свойство MaxConcurrentSessions задает максимальное количество каналов, которые может принять объект ServiceHost. Каждый объект прослушивателя может иметь один ожидающий канал, который не учитывается по значению MaxConcurrentSessions , пока WCF не примет канал и начнет обработку сообщений на нем. Это свойство особенно полезно в сценариях, где используются сеансы.
Примечание
Каждый раз при превышении значения этого свойства происходит запись трассировки. Первая трассировка записывается как предупреждение.
Дополнительные сведения о сеансах см. в разделе "Использование сеансов".
Обычно для задания этого свойства используется свойство ServiceThrottlingBehavior.MaxConcurrentSessions.