Configures run-time throughput settings that enable you to tune service performance.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
Thetype exposes the following members.
|MaxConcurrentCalls||Gets or sets a value that specifies the maximum number of messages actively processing across a ServiceHost.|
|MaxConcurrentInstances||Gets or sets a value that specifies the maximum number of InstanceContext objects in the service that can execute at one time.|
|MaxConcurrentSessions||Gets or sets a value that specifies the maximum number of sessions a ServiceHost object can accept at one time.|
|Equals(Object)||Determines whether the specified object is equal to the current object. (Inherited from Object.)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)|
|GetHashCode||Serves as the default hash function. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
|IServiceBehavior::AddBindingParameters||Configures the bindings to support the service behavior.|
|IServiceBehavior::ApplyDispatchBehavior||Configures the service to support the service behavior.|
|IServiceBehavior::Validate||Validates that the service and host can support the service behavior.|
Use the class to control various throughput settings that help prevent your application from running out of memory.
Because run-time load balancing requires experience running the application, using the through an application configuration file is the most common method of modifying execution to maximize service performance.
A trace is written every time the value of these properties is reached. The first trace is written as a warning.
You can also set the values of this attribute by using the <serviceThrottling> element in an application configuration file.
The following code example shows the use of from an application configuration file that sets the MaxConcurrentSessions, MaxConcurrentCalls, and MaxConcurrentInstances properties to 1 as an example. Real-world experience determines what the optimal settings are for any particular application.
<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>