InstanceContext.GetServiceInstance 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
서비스의 인스턴스를 반환합니다.
오버로드
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)
들어오는 메시지에 대한 응답으로 인스턴스 컨텍스트의 서비스 인스턴스를 반환합니다.
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 않고 서비스 개체가 만들어지지 않으므로 실제로 필요할 때까지 리소스가 배포되지 않습니다.