Compartir a través de


InstanceContext.GetServiceInstance Método

Definición

Devuelve la instancia del servicio.

Sobrecargas

GetServiceInstance()

Devuelve la instancia del servicio para el contexto de la instancia.

GetServiceInstance(Message)

Devuelve la instancia del servicio para el contexto de la instancia como 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

Object

El objeto que representa la instancia del servicio.

Excepciones

La instancia del servicio está en un estado creado o abierto o no se inicializó.

Se anuló la instancia del servicio.

La instancia del servicio se ha cerrado ya y no puede modificarse en estos estados.

La instancia del servicio está en estado de error y no puede modificarse 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)

Devuelve la instancia del servicio para el contexto de la instancia como 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

El mensaje entrante que activó la creación de un objeto de servicio.

Devoluciones

Object

El objeto que representa la instancia del servicio.

Excepciones

La instancia del servicio está en un estado creado o abierto o no se inicializó.

Se anuló la instancia del servicio.

La instancia del servicio se ha cerrado ya y no puede modificarse en estos estados.

La instancia del servicio está en estado de error y no puede modificarse 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 sólo cree una instancia del servicio cuando llega un mensaje dirigido a él llamando Open. A continuación, si no llega ningún mensaje, no se crea ningún InstanceContext ni tampoco se creará ningún objeto de servicio. Por tanto, los recursos no se implementarán hasta que sean realmente necesarios.

Se aplica a