InstanceContext.GetServiceInstance Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve la instancia del servicio.
Sobrecargas
| Nombre | Description |
|---|---|
| GetServiceInstance() |
Devuelve la instancia del servicio para el contexto de la instancia. |
| GetServiceInstance(Message) |
Devuelve la instancia del servicio para el contexto de instancia en respuesta a un mensaje entrante. |
GetServiceInstance()
Devuelve la instancia del servicio para el contexto de la instancia.
public:
System::Object ^ GetServiceInstance();
public object GetServiceInstance();
member this.GetServiceInstance : unit -> obj
Public Function GetServiceInstance () As Object
Devoluciones
Objeto que representa la instancia de servicio.
Excepciones
La instancia de servicio está en un estado creado o abierto o no se inicializa.
Se anula la instancia de servicio.
La instancia de servicio ya se ha cerrado y no se puede modificar en estos estados.
Se produce un error en la instancia de servicio y no se puede modificar en estos estados.
Ejemplos
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();
}
Se aplica a
GetServiceInstance(Message)
- Source:
- InstanceContext.cs
- Source:
- InstanceContext.cs
- Source:
- InstanceContext.cs
Devuelve la instancia del servicio para el contexto de instancia en respuesta a un mensaje entrante.
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
Mensaje entrante que desencadenó la creación de un objeto de servicio.
Devoluciones
Objeto que representa la instancia de servicio.
Excepciones
La instancia de servicio está en un estado creado o abierto o no se inicializa.
Se anula la instancia de servicio.
La instancia de servicio ya se ha cerrado y no se puede modificar en estos estados.
Se produce un error en la instancia de servicio y no se puede modificar en estos estados.
Ejemplos
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);
}
Comentarios
La idea general es que solo se crea una instancia del servicio cuando llega un mensaje dirigido a él, llamando a Open; después, si no llega ningún mensaje, no InstanceContext se crea y no se crea ningún objeto de servicio y, por lo tanto, los recursos no se implementan hasta que realmente sean necesarios.