InstanceContext.GetServiceInstance 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
서비스의 인스턴스를 반환합니다.
오버로드
| Name | Description |
|---|---|
| GetServiceInstance() |
인스턴스 컨텍스트에 대한 서비스의 인스턴스를 반환합니다. |
| GetServiceInstance(Message) |
들어오는 메시지에 대한 응답으로 인스턴스 컨텍스트에 대한 서비스의 인스턴스를 반환합니다. |
GetServiceInstance()
인스턴스 컨텍스트에 대한 서비스의 인스턴스를 반환합니다.
public:
System::Object ^ GetServiceInstance();
public object GetServiceInstance();
member this.GetServiceInstance : unit -> obj
Public Function GetServiceInstance () As Object
반품
서비스 인스턴스를 나타내는 개체입니다.
예외
서비스 인스턴스가 만들거나 여는 상태이거나 초기화되지 않았습니다.
서비스 인스턴스가 중단되었습니다.
서비스 인스턴스가 이미 닫혔으며 이러한 상태에서는 수정할 수 없습니다.
서비스 인스턴스에 오류가 발생하며 이러한 상태에서는 수정할 수 없습니다.
예제
Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/service");
// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
serviceHost.Open();
OperationContext operationContext = OperationContext.Current;
InstanceContext instanceContext = operationContext.InstanceContext;
CalculatorService service = (CalculatorService) instanceContext.GetServiceInstance();
}
적용 대상
GetServiceInstance(Message)
- Source:
- InstanceContext.cs
- Source:
- InstanceContext.cs
- Source:
- InstanceContext.cs
들어오는 메시지에 대한 응답으로 인스턴스 컨텍스트에 대한 서비스의 인스턴스를 반환합니다.
public:
System::Object ^ GetServiceInstance(System::ServiceModel::Channels::Message ^ message);
public object GetServiceInstance(System.ServiceModel.Channels.Message message);
member this.GetServiceInstance : System.ServiceModel.Channels.Message -> obj
Public Function GetServiceInstance (message As Message) As Object
매개 변수
- message
- Message
서비스 개체 만들기를 트리거한 들어오는 메시지입니다.
반품
서비스 인스턴스를 나타내는 개체입니다.
예외
서비스 인스턴스가 만들거나 여는 상태이거나 초기화되지 않았습니다.
서비스 인스턴스가 중단되었습니다.
서비스 인스턴스가 이미 닫혔으며 이러한 상태에서는 수정할 수 없습니다.
서비스 인스턴스에 오류가 발생하며 이러한 상태에서는 수정할 수 없습니다.
예제
Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/service");
// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
serviceHost.Open();
OperationContext operationContext = OperationContext.Current;
InstanceContext instanceContext = operationContext.InstanceContext;
CalculatorService service = (CalculatorService)instanceContext.GetServiceInstance(msg);
}
설명
일반적인 아이디어는 메시지를 호출하여 Open서비스 인스턴스가 도착할 때만 서비스의 인스턴스를 만드는 것입니다. 그런 다음 메시지가 도착하지 않으면 생성되지 않고 InstanceContext 서비스 개체가 만들어지지 않으므로 실제로 필요할 때까지 리소스가 배포되지 않습니다.