InstanceContext.GetServiceInstance Methode

Definitie

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.

Van toepassing op