Sdílet prostřednictvím


InstanceContextMode Výčet

Definice

Určuje počet instancí služeb, které jsou k dispozici pro zpracování volání obsažených v příchozích zprávách.

public enum class InstanceContextMode
public enum InstanceContextMode
type InstanceContextMode = 
Public Enum InstanceContextMode
Dědičnost
InstanceContextMode

Pole

PerCall 1

Nový InstanceContext objekt se vytvoří před každým voláním a recykluje ho.

PerSession 0

Pro každou relaci se vytvoří nový InstanceContext objekt. Pokud kanál nevytvoří relaci, tato hodnota se chová, jako by byla PerCall.

Single 2

Pro všechna příchozí volání se používá pouze jeden InstanceContext objekt a po volání se nereklásuje. Pokud objekt služby neexistuje, vytvoří se jeden objekt.

Příklady

Následující kód ukazuje, jak nastavit InstanceContextMode třídu služby:

// 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

Poznámky

Třída System.ServiceModel.InstanceContext spravuje přidružení mezi kanálem a objekty služby definované uživatelem. InstanceContextMode Pomocí výčtu ServiceBehaviorAttribute.InstanceContextMode s vlastností určete životnost objektuInstanceContext. Windows Communication Foundation (WCF) může vytvořit nový InstanceContext objekt pro každé volání, každou relaci nebo určit, že InstanceContext je objekt vázán na jeden objekt služby. Pracovní příklad najdete v tématu Instanceng.

Hodnota Single určuje, že jeden InstanceContext objekt by měl být použit po dobu životnosti služby. K hodnotě Single je přidruženo několik upozornění:

Platí pro

Viz také