InstanceContextMode 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
들어오는 메시지에 포함된 호출을 처리하는 데 사용할 수 있는 서비스 인스턴스 수를 지정합니다.
public enum class InstanceContextMode
public enum InstanceContextMode
type InstanceContextMode =
Public Enum InstanceContextMode
- 상속
필드
| Name | 값 | Description |
|---|---|---|
| PerSession | 0 | 각 세션에 대해 새 InstanceContext 개체가 만들어집니다. 채널이 세션을 만들지 않으면 이 값은 마치 PerCall다음과 같이 동작합니다. |
| PerCall | 1 | 새 InstanceContext 개체는 호출 전에 만들어지고 각 호출 이후에 재활용됩니다. |
| Single | 2 | 들어오는 모든 호출에 하나의 InstanceContext 개체만 사용되며 호출 이후에는 재활용되지 않습니다. 서비스 개체가 없으면 해당 개체가 만들어집니다. |
예제
다음 코드에서는 서비스 클래스에 InstanceContextMode 대해 설정하는 방법을 보여 줍니다.
// Service class which implements the service contract.
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]
public class CalculatorService : ICalculator
{
public double Add(double n1, double n2)
{
return n1 + n2;
}
public double Subtract(double n1, double n2)
{
return n1 - n2;
}
public double Multiply(double n1, double n2)
{
return n1 * n2;
}
public double Divide(double n1, double n2)
{
return n1 / n2;
}
}
' Service class which implements the service contract.
Public Class CalculatorService
Implements ICalculator
Public Function Add(n1 As Double, n2 As Double) As Double Implements ICalculator.Add
Return n1 + n2
End Function
Public Function Subtract(n1 As Double, n2 As Double) As Double Implements ICalculator.Subtract
Return n1 - n2
End Function
Public Function Multiply(n1 As Double, n2 As Double) As Double Implements ICalculator.Multiply
Return n1 * n2
End Function
Public Function Divide(n1 As Double, n2 As Double) As Double Implements ICalculator.Divide
Return n1 / n2
End Function
End Class
설명
클래스는 System.ServiceModel.InstanceContext 채널과 사용자 정의 서비스 개체 간의 연결을 관리합니다. 속성과 InstanceContextMode 함께 열거형을 ServiceBehaviorAttribute.InstanceContextMode 사용하여 개체의 수명을 지정합니다 InstanceContext . WCF(Windows Communication Foundation)는 모든 호출, 모든 세션에 대해 새 InstanceContext 개체를 만들거나 개체가 단일 서비스 개체에 바인딩되도록 InstanceContext 지정할 수 있습니다. 작업 예제는 Instancing을 참조하세요.
이 값은 Single 서비스의 수명 동안 단일 InstanceContext 개체를 사용하도록 지정합니다. 값과 관련된 Single 몇 가지 주의 사항:
값이 ServiceBehaviorAttribute.InstanceContextMode 설정된 경우 값을 으로
Single설정 ConcurrencyMode 하지 않는 한 서비스에서 한 번에 하나의 메시지만 처리할 ConcurrencyMode.Multiple수 있습니다.단일 수명 동작의 경우(예: 호스트 애플리케이션이 생성자를 호출 ServiceHost.ServiceHost 하고 서비스로 사용할 개체를 전달하는 경우) 서비스 클래스를 설정 ServiceBehaviorAttribute.InstanceContextMode
Single해야 하거나 서비스 호스트가 열릴 때 예외가 throw됩니다.