InstanceContext.GetServiceInstance Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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
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í.