InstanceContext.GetServiceInstance Metoda

Definice

Vrátí instanci služby.

Přetížení

Name Description
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

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

Výjimky

Instance služby je ve stavu vytvoření nebo otevření nebo není inicializována.

Instance služby je přerušena.

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

Instance služby je chybná a v těchto stavech ji nelze upravit.

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)

Zdroj:
InstanceContext.cs
Zdroj:
InstanceContext.cs
Zdroj:
InstanceContext.cs

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

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

Výjimky

Instance služby je ve stavu vytvoření nebo otevření nebo není inicializována.

Instance služby je přerušena.

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

Instance služby je chybná a v těchto stavech ji nelze upravit.

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

Obecnou myšlenkou je, že vytvoříte pouze instanci služby, když na ni přijde zpráva, zavoláním Open; pak pokud nepřirazí žádná zpráva, nevytvoří se a InstanceContext nevytvoří se žádný objekt služby, takže prostředky se nenasadí, dokud se skutečně nevyžaduje.

Platí pro