Partager via


InstanceContextMode Énumération

Définition

Spécifie le nombre d'instances de service disponibles pour gérer les appels contenus dans les messages entrants.

public enum class InstanceContextMode
public enum InstanceContextMode
type InstanceContextMode = 
Public Enum InstanceContextMode
Héritage
InstanceContextMode

Champs

PerCall 1

Un objet InstanceContext est créé avant et recyclé après chaque appel.

PerSession 0

Un objet InstanceContext est créé pour chaque session. Si le canal ne crée pas de session, cette valeur se comporte comme si elle était PerCall.

Single 2

Un seul objet InstanceContext est utilisé pour tous les appels entrants et il n'est pas recyclé après les appels. S'il n'existe aucun objet de service, le système en crée un.

Exemples

L'exemple de code ci-dessous montre comment définir le InstanceContextMode pour une classe de service :

// Service class which implements the service contract.
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]
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;
    }
}
' Service class which implements the service contract.
Public Class CalculatorService
Implements ICalculator

    Public Function Add(n1 As Double, n2 As Double) As Double Implements ICalculator.Add
        Return n1 + n2
    End Function

    Public Function Subtract(n1 As Double, n2 As Double) As Double Implements ICalculator.Subtract
        Return n1 - n2
    End Function

    Public Function Multiply(n1 As Double, n2 As Double) As Double Implements ICalculator.Multiply
        Return n1 * n2
    End Function

    Public Function Divide(n1 As Double, n2 As Double) As Double Implements ICalculator.Divide
        Return n1 / n2
    End Function

End Class

Remarques

La System.ServiceModel.InstanceContext classe gère l’association entre le canal et les objets de service définis par l’utilisateur. Utilisez l'énumération InstanceContextMode avec la propriété ServiceBehaviorAttribute.InstanceContextMode pour spécifier la durée de vie de l'objet InstanceContext. Windows Communication Foundation (WCF) peut créer un objet InstanceContext pour chaque appel, chaque session ou spécifier que l’objet InstanceContext est lié à un seul objet de service. Pour obtenir un exemple de travail, consultez Instanciation.

La valeur Single spécifie qu'un objet InstanceContext unique doit être utilisé pendant toute la durée de vie du service. Plusieurs mises en garde sont associées à la Single valeur :

S’applique à

Voir aussi