ServiceThrottlingBehavior Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Konfiguruje ustawienia przepływności czasu wykonywania, które umożliwiają dostrajanie wydajności usługi.
public ref class ServiceThrottlingBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceThrottlingBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceThrottlingBehavior = class
interface IServiceBehavior
Public Class ServiceThrottlingBehavior
Implements IServiceBehavior
- Dziedziczenie
-
ServiceThrottlingBehavior
- Implementuje
Przykłady
Poniższy przykład kodu przedstawia użycie z ServiceThrottlingBehavior pliku konfiguracji aplikacji, który ustawia MaxConcurrentSessionswłaściwości , MaxConcurrentCallsi MaxConcurrentInstances na wartość 1 jako przykład. Środowisko rzeczywiste określa, jakie są optymalne ustawienia dla każdej konkretnej aplikacji.
<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>
Uwagi
ServiceThrottlingBehavior Użyj klasy, aby kontrolować różne ustawienia przepływności, które pomagają zapobiec wyczerpaniu pamięci aplikacji.
Właściwość MaxConcurrentCalls ogranicza liczbę komunikatów, które są obecnie przetwarzane w obiekcie ServiceHost.
Właściwość MaxConcurrentInstances ogranicza liczbę InstanceContext obiektów wykonywanych jednocześnie w obiekcie ServiceHost.
Właściwość MaxConcurrentSessions ogranicza liczbę sesji, które ServiceHost może zaakceptować obiekt.
Ponieważ równoważenie obciążenia w czasie wykonywania wymaga środowiska uruchamiania aplikacji, użycie ServiceThrottlingBehavior pliku konfiguracji za pośrednictwem aplikacji jest najczęstszą metodą modyfikowania wykonywania w celu zmaksymalizowania wydajności usługi.
Uwaga
Ślad jest zapisywany za każdym razem, gdy zostanie osiągnięta wartość tych właściwości. Pierwszy ślad jest zapisywany jako ostrzeżenie.
Można również ustawić wartości tego atrybutu przy użyciu <elementu serviceThrottling> w pliku konfiguracji aplikacji.
Konstruktory
ServiceThrottlingBehavior() |
Inicjuje nowe wystąpienie klasy ServiceThrottlingBehavior. |
Właściwości
MaxConcurrentCalls |
Pobiera lub ustawia wartość określającą maksymalną liczbę komunikatów aktywnie przetwarzanych w obiekcie ServiceHost. |
MaxConcurrentInstances |
Pobiera lub ustawia wartość określającą maksymalną liczbę InstanceContext obiektów w usłudze, które mogą być wykonywane jednocześnie. |
MaxConcurrentSessions |
Pobiera lub ustawia wartość określającą maksymalną liczbę sesji, ServiceHost które obiekt może akceptować jednocześnie. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Konfiguruje powiązania w celu obsługi zachowania usługi. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Konfiguruje usługę do obsługi zachowania usługi. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Sprawdza, czy usługa i host mogą obsługiwać zachowanie usługi. |