ServiceThrottlingBehavior.MaxConcurrentInstances Egenskap

Definition

Hämtar eller anger ett värde som anger det maximala antalet InstanceContext objekt i tjänsten som kan köras samtidigt.

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

Egenskapsvärde

Det maximala antalet InstanceContext objekt i tjänsten i taget. Standardvärdet är summan av värdet MaxConcurrentSessions för och värdet för MaxConcurrentCalls.

Exempel

I följande kodexempel visas användningen av ServiceThrottlingBehavior från en programkonfigurationsfil som anger MaxConcurrentSessionsegenskaperna , MaxConcurrentCalls och 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 MaxConcurrentInstances anger det maximala antalet InstanceContext objekt i tjänsten. Det är viktigt att ha i åtanke relationen mellan MaxConcurrentInstances egenskapen och egenskapen InstanceContextMode . Om InstanceContextMode är PerSessionär det resulterande värdet det totala antalet sessioner. Om InstanceContextMode är PerCallär det resulterande värdet antalet samtidiga anrop. Om ett meddelande tas emot medan det maximala antalet InstanceContext objekt redan finns sparas meddelandet tills ett InstanceContext objekt stängs.

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

Gäller för