Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

InstanceContext.GetServiceInstance Method (Message)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Returns the instance of the service for the instance context in response to an incoming message.

Namespace:   System.ServiceModel
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public object GetServiceInstance(
	Message message


Type: System.ServiceModel.Channels.Message

The incoming message that triggered the creation of a service object.

Return Value

Type: System.Object

The object that represents the service instance.

Exception Condition

The service instance is in a created or opening state or is not initialized.


The service instance is aborted.


The service instance has been closed already and cannot be modified in these states.


The service instance is faulted and cannot be modified in these states.

The general idea is that you only create an instance of the service when a message directed at it arrives, by calling Open; then if no message arrives, no InstanceContext is created and no service object is created, and so resources are not deployed until actually required.

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))
    OperationContext operationContext = OperationContext.Current;
    InstanceContext instanceContext = operationContext.InstanceContext;
    CalculatorService service = (CalculatorService)instanceContext.GetServiceInstance(msg);

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.0
Portable Class Library
Supported in: portable .NET platforms
Available since 3.0
Return to top
© 2018 Microsoft