ServiceThrottle.MaxConcurrentInstances Свойство

Определение

Возвращает или устанавливает максимальное число объектов службы, которые могут выполняться одновременно.Gets or sets the maximum number of service objects that can execute at one time.

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

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

Максимальное число объектов InstanceContext, существующих в службе одновременно.The maximum number of InstanceContext objects in the service at one time. Значение по умолчанию: максимальное количество параллельных вызовов + максимальное количество одновременных сеансов.The default is Maximum Concurrent Calls + Maximum Concurrent Sessions.

Примеры

В следующем примере кода демонстрируется типовое использование объекта ServiceThrottle путем указания поведения ServiceThrottlingBehavior в файле конфигурации приложения.The following code example shows the typical use of the ServiceThrottle by referencing the ServiceThrottlingBehavior in an application configuration file. В данном случае указанные значения обеспечивают обработку не более одного сообщения одновременно от одного подключения к одному объекту InstanceContext.In this case, the values that are specified establish, at most, one message processing at one time from one connection to one InstanceContext. Реальное использование определяется фактическими условиями.Real-world usage must be determined through experience.

<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 в службе.The MaxConcurrentInstances property specifies the maximum number of InstanceContext objects in the service. Важно учитывать отношения между свойством MaxConcurrentInstances и свойством InstanceContextMode.It is important to keep in mind the relationship between the MaxConcurrentInstances property and the InstanceContextMode property. Если InstanceContextMode значением PerSession является итоговое значение, это общее число сеансов.If InstanceContextMode is PerSession the resulting value is the total number of sessions. Если свойство InstanceContextMode имеет значение PerCall, то результирующее значение равно общему количеству одновременных вызовов.If InstanceContextMode is PerCall, the resulting value is the number of concurrent calls. Если сообщение приходит, когда уже присутствует максимальное количество объектов InstanceContext, сообщение удерживается до закрытия одного объекта InstanceContext.If a message arrives while the maximum number of InstanceContext objects already exist, the message is held until an InstanceContext object closes.

Примечание

Каждый раз при превышении значения этого свойства происходит запись трассировки.A trace is written every time the value of this property is exceeded. Первая трассировка записывается как предупреждение.The first trace is written as a warning.

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