Sdílet prostřednictvím


InstanceContext.GetServiceInstance Metoda

Definice

Vrátí instanci služby.

Přetížení

GetServiceInstance()

Vrátí instanci služby pro kontext instance.

GetServiceInstance(Message)

Vrátí instanci služby pro kontext instance v reakci na příchozí zprávu.

GetServiceInstance()

Vrátí instanci služby pro kontext instance.

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

Návraty

Object

Objekt, který představuje instanci služby.

Výjimky

Instance služby je ve vytvořeném nebo otvíracím stavu nebo není inicializována.

Instance služby je přerušena.

Instance služby již byla uzavřena a v těchto stavech nelze změnit.

Instance služby je chybná a v těchto stavech nelze změnit.

Příklady

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

Platí pro

GetServiceInstance(Message)

Vrátí instanci služby pro kontext instance v reakci na příchozí zprávu.

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

Parametry

message
Message

Příchozí zpráva, která aktivovala vytvoření objektu služby.

Návraty

Object

Objekt, který představuje instanci služby.

Výjimky

Instance služby je ve vytvořeném nebo otvíracím stavu nebo není inicializována.

Instance služby je přerušena.

Instance služby již byla uzavřena a v těchto stavech nelze změnit.

Instance služby je chybná a v těchto stavech nelze změnit.

Příklady

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

Poznámky

Obecný nápad spočívá v tom, že vytvoříte pouze instanci služby, když na ni přijde zpráva směrovaná voláním Open; pak pokud nepřijede žádná zpráva, nevytvoří InstanceContext se a nebude vytvořen žádný objekt služby, a proto se prostředky nenasazují, dokud se skutečně nevyžadují.

Platí pro