Sdílet prostřednictvím


ServiceThrottlingBehavior.MaxConcurrentInstances Vlastnost

Definice

Získá nebo nastaví hodnotu, která určuje maximální počet InstanceContext objektů ve službě, která se může provést najednou.

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

Hodnota vlastnosti

Int32

Maximální počet InstanceContext objektů ve službě najednou. Výchozí hodnota je součet hodnoty MaxConcurrentSessions a hodnoty .MaxConcurrentCalls

Příklady

Následující příklad kódu ukazuje použití ServiceThrottlingBehavior z konfiguračního souboru aplikace, který nastaví MaxConcurrentSessionshodnotu MaxConcurrentCalls 1 a MaxConcurrentInstances vlastnosti na 1 jako příklad. Prostředí z reálného světa určuje, jaká jsou optimální nastavení pro jakoukoli konkrétní aplikaci.

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

Poznámky

Vlastnost MaxConcurrentInstances určuje maximální počet InstanceContext objektů ve službě. Je důležité mít na paměti vztah mezi MaxConcurrentInstances vlastností a InstanceContextMode vlastností. Pokud InstanceContextMode ano PerSession, výsledná hodnota je celkový počet relací. Pokud InstanceContextMode ano PerCall, výsledná hodnota je počet souběžných volání. Pokud zpráva přijde, zatímco maximální počet InstanceContext objektů již existuje, zpráva se bude uchovávat, dokud se InstanceContext objekt nezavře.

Hodnoty tohoto atributu můžete také nastavit pomocí elementu <serviceThrottling> v konfiguračním souboru aplikace.

Platí pro