InstanceContext.GetServiceInstance Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert het exemplaar van de service.
Overloads
| Name | Description |
|---|---|
| GetServiceInstance() |
Retourneert het exemplaar van de service voor de instantiecontext. |
| GetServiceInstance(Message) |
Retourneert het exemplaar van de service voor de exemplaarcontext als reactie op een binnenkomend bericht. |
GetServiceInstance()
Retourneert het exemplaar van de service voor de instantiecontext.
public:
System::Object ^ GetServiceInstance();
public object GetServiceInstance();
member this.GetServiceInstance : unit -> obj
Public Function GetServiceInstance () As Object
Retouren
Het object dat het service-exemplaar vertegenwoordigt.
Uitzonderingen
Het service-exemplaar bevindt zich in een gemaakte of geopende status of wordt niet geïnitialiseerd.
Het service-exemplaar is afgebroken.
Het service-exemplaar is al gesloten en kan niet worden gewijzigd in deze statussen.
Er is een fout opgetreden in het service-exemplaar en kan niet worden gewijzigd in deze statussen.
Voorbeelden
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();
}
Van toepassing op
GetServiceInstance(Message)
Retourneert het exemplaar van de service voor de exemplaarcontext als reactie op een binnenkomend bericht.
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
Parameters
- message
- Message
Het binnenkomende bericht dat het maken van een serviceobject heeft geactiveerd.
Retouren
Het object dat het service-exemplaar vertegenwoordigt.
Uitzonderingen
Het service-exemplaar bevindt zich in een gemaakte of geopende status of wordt niet geïnitialiseerd.
Het service-exemplaar is afgebroken.
Het service-exemplaar is al gesloten en kan niet worden gewijzigd in deze statussen.
Er is een fout opgetreden in het service-exemplaar en kan niet worden gewijzigd in deze statussen.
Voorbeelden
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);
}
Opmerkingen
Het algemene idee is dat u alleen een exemplaar van de service maakt wanneer er een bericht wordt verzonden, door aan te roepen Open. Als er geen bericht binnenkomt, wordt er geen InstanceContext gemaakt en wordt er geen serviceobject gemaakt en worden er dus geen resources geïmplementeerd totdat ze daadwerkelijk zijn vereist.