Lire en anglais

Partager via


Procédure : contrôler l’instanciation des services

La définition du mode d'instance d'un service vous permet de spécifier quand un System.ServiceModel.InstanceContext (et son objet de service associé, défini par l'utilisateur) est créé. Consultez l'énumération InstanceContextMode pour obtenir les modes possibles. Pour plus d’informations sur les comportements, consultez Configuration et extension du runtime avec des comportements. Pour obtenir des exemples fonctionnels, consultez Comportements.

Pour contrôler la durée de vie de l'instance de service en utilisant du code

  1. Appliquez ServiceBehaviorAttribute à la classe de service.

  2. Affectez à la propriété InstanceContextMode l'une des valeurs suivantes : PerCall, PerSession ou Single.

    [ServiceBehaviorAttribute(InstanceContextMode = InstanceContextMode.PerCall)]
    

Exemple

L'exemple de code suivant affecte à la propriété InstanceContextMode de l'attribut ServiceBehaviorAttribute la valeur PerCall.

// Define a service contract.
[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
public interface ICalculator
{
    [OperationContract]
    double Add(double n1, double n2);
    [OperationContract]
    double Subtract(double n1, double n2);
    [OperationContract]
    double Multiply(double n1, double n2);
    [OperationContract]
    double Divide(double n1, double n2);
}

// Service class which implements the service contract.
[ServiceBehaviorAttribute(InstanceContextMode = InstanceContextMode.PerCall)]
public class CalculatorService : ICalculator
{
    public double Add(double n1, double n2)
    {
        return n1 + n2;
    }

    public double Subtract(double n1, double n2)
    {
        return n1 - n2;
    }

    public double Multiply(double n1, double n2)
    {
        return n1 * n2;
    }

    public double Divide(double n1, double n2)
    {
        return n1 / n2;
    }
}

Voir aussi