ServiceThrottlingBehavior.MaxConcurrentCalls Egenskap

Definition

Hämtar eller anger ett värde som anger det maximala antalet meddelanden som aktivt bearbetas i en 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

Egenskapsvärde

Den övre gränsen för aktiva meddelanden i tjänsten. Standardvärdet är 16 gånger processorantalet.

Exempel

I följande kodexempel visas användningen av ServiceThrottlingBehavior från en programkonfigurationsfil som anger MaxConcurrentSessionsegenskaperna , MaxConcurrentCallsoch MaxConcurrentInstances till 1 som exempel. Verklig upplevelse avgör vilka de optimala inställningarna är för ett visst program.

<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>

Kommentarer

Egenskapen MaxConcurrentCalls anger det maximala antalet meddelanden som aktivt bearbetas i ett ServiceHost objekt. Varje kanal kan ha ett väntande meddelande som inte räknas mot värdet för MaxConcurrentCalls förrän Windows Communication Foundation (WCF) börjar bearbeta det.

Du kan också ange värdena för det här attributet med hjälp av elementet< serviceThrottling> i en programkonfigurationsfil.

Varning

MaxConcurrentCalls bör anges till mindre än storleken på SQL-anslutningspoolen i köade scenarier.

Gäller för