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)

适用于