Compartilhar via


InstanceContext.GetServiceInstance Método

Definição

Retorna a instância do serviço.

Sobrecargas

GetServiceInstance()

Retorna a instância do serviço para o contexto da instância.

GetServiceInstance(Message)

Retorna a instância do serviço para o contexto da instância em resposta a uma mensagem de entrada.

GetServiceInstance()

Retorna a instância do serviço para o contexto da instância.

public:
 System::Object ^ GetServiceInstance();
public object GetServiceInstance ();
member this.GetServiceInstance : unit -> obj
Public Function GetServiceInstance () As Object

Retornos

Object

O objeto que representa a instância de serviço.

Exceções

A instância de serviço está em estado de criação ou abertura ou não foi inicializada.

A instância de serviço é anulada.

A instância de serviço já foi fechada e não pode ser modificada nesses estados.

A instância de serviço está com falha e não pode ser modificada nesses estados.

Exemplos

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();
}

Aplica-se a

GetServiceInstance(Message)

Retorna a instância do serviço para o contexto da instância em resposta a uma mensagem de entrada.

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

Parâmetros

message
Message

A mensagem de entrada que disparou a criação de um objeto de serviço.

Retornos

Object

O objeto que representa a instância de serviço.

Exceções

A instância de serviço está em estado de criação ou abertura ou não foi inicializada.

A instância de serviço é anulada.

A instância de serviço já foi fechada e não pode ser modificada nesses estados.

A instância de serviço está com falha e não pode ser modificada nesses estados.

Exemplos

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);
}

Comentários

A ideia geral é que você só crie uma instância do serviço quando uma mensagem direcionada a ele chegar, chamando Open; se nenhuma mensagem chegar, não InstanceContext será criada e nenhum objeto de serviço será criado e, portanto, os recursos não serão implantados até que realmente sejam necessários.

Aplica-se a