Partager via


InstanceContext.GetServiceInstance Méthode

Définition

Retourne l'instance du service.

Surcharges

GetServiceInstance()

Retourne l'instance du service pour le contexte d'instance.

GetServiceInstance(Message)

Retourne l'instance du service pour le contexte d'instance en réponse à un message entrant.

GetServiceInstance()

Retourne l'instance du service pour le contexte d'instance.

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

Retours

Object

Objet qui représente l'instance de service.

Exceptions

L'instance de service est dans un état créé ou d'ouverture ou n'est pas initialisée.

L'instance de service est abandonnée.

L'instance de service a déjà été fermée et ne peut pas être modifiée dans ces états.

L'instance de service a provoqué une erreur et ne peut pas être modifiée dans ces états.

Exemples

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

S’applique à

GetServiceInstance(Message)

Retourne l'instance du service pour le contexte d'instance en réponse à un message entrant.

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

Paramètres

message
Message

Message entrant qui a déclenché la création d'un objet de service.

Retours

Object

Objet qui représente l'instance de service.

Exceptions

L'instance de service est dans un état créé ou d'ouverture ou n'est pas initialisée.

L'instance de service est abandonnée.

L'instance de service a déjà été fermée et ne peut pas être modifiée dans ces états.

L'instance de service a provoqué une erreur et ne peut pas être modifiée dans ces états.

Exemples

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

Remarques

L'idée générale est de créer uniquement une instance du service lorsqu'un message qui lui est destiné arrive, en appelant Open ; si aucun message n'arrive, aucun InstanceContext n'est créé et aucun objet de service n'est créé, donc les ressources ne sont pas déployées jusqu'à ce que ce déploiement soit réellement nécessaire.

S’applique à