ServiceThrottle.MaxConcurrentInstances Свойство

Определение

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

public:
 property int MaxConcurrentInstances { int get(); void set(int value); };
public int MaxConcurrentInstances { get; set; }
member this.MaxConcurrentInstances : int with get, set
Public Property MaxConcurrentInstances As Integer

Значение свойства

Int32

Максимальное число объектов InstanceContext, существующих в службе одновременно. Значение по умолчанию: максимальное количество параллельных вызовов + максимальное количество одновременных сеансов.

Примеры

В следующем примере кода демонстрируется типовое использование объекта 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>

Комментарии

Свойство MaxConcurrentInstances указывает максимальное количество объектов InstanceContext в службе. Важно учитывать отношения между свойством MaxConcurrentInstances и свойством InstanceContextMode. Если InstanceContextMode результирующее PerSession значение является общим числом сеансов. Если свойство InstanceContextMode имеет значение PerCall, то результирующее значение равно общему количеству одновременных вызовов. Если сообщение приходит, когда уже присутствует максимальное количество объектов InstanceContext, сообщение удерживается до закрытия одного объекта InstanceContext.

Примечание

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

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