InstanceContext.GetServiceInstance Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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
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.