ServiceThrottlingBehavior 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
서비스 성능을 조정할 수 있는 런타임 처리량 설정을 구성합니다.
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
- 상속
-
ServiceThrottlingBehavior
- 구현
예제
다음 코드 예제에서는 애플리케이션 구성 파일에서 ServiceThrottlingBehavior를 사용하여 MaxConcurrentSessions, MaxConcurrentCalls 및 MaxConcurrentInstances 속성을 1로 설정하는 예를 보여 줍니다. 실제 경험을 통해 특정 애플리케이션에 대한 최적의 설정을 결정하도록 합니다.
<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>
설명
애플리케이션의 메모리 부족 현상이 발생하지 않도록 다양한 처리량 설정을 제어하려면 ServiceThrottlingBehavior 클래스를 사용합니다.
MaxConcurrentCalls 속성은 ServiceHost에서 현재 처리되는 메시지 수를 제한합니다.
MaxConcurrentInstances 속성은 InstanceContext에서 한 번에 실행하는 ServiceHost 개체 수를 제한합니다.
MaxConcurrentSessions 속성은 ServiceHost 개체에서 수락할 수 있는 세션 수를 제한합니다.
런타임 부하 분산 기능을 사용하려면 애플리케이션 실행 경험이 필요하므로, 애플리케이션 구성 파일을 통해 ServiceThrottlingBehavior를 사용하는 것이 서비스 성능을 극대화하도록 실행을 수정하는 가장 일반적인 방법입니다.
참고
이러한 속성 값에 도달할 때마다 추적이 기록되며 첫 번째 추적이 경고로 기록됩니다.
애플리케이션 구성 파일에서 serviceThrottling> 요소를 사용하여< 이 특성의 값을 설정할 수도 있습니다.
생성자
ServiceThrottlingBehavior() |
ServiceThrottlingBehavior 클래스의 새 인스턴스를 초기화합니다. |
속성
MaxConcurrentCalls |
ServiceHost의 모든 디스패처 개체에서 동시에 처리하는 최대 메시지 수를 지정하는 값을 가져오거나 설정합니다. |
MaxConcurrentInstances |
서비스에서 한 번에 실행할 수 있는 최대 InstanceContext 개체 수를 지정하는 값을 가져오거나 설정합니다. |
MaxConcurrentSessions |
ServiceHost 개체가 한 번에 수락할 수 있는 최대 세션 수를 지정하는 값을 가져오거나 설정합니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
서비스 동작을 지원하도록 바인딩을 구성합니다. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
서비스 동작을 지원하도록 서비스를 구성합니다. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
서비스 및 호스트가 서비스 동작을 지원할 수 있는지를 확인합니다. |