Sdílet prostřednictvím


InstanceContextMode Výčet

Definice

Určuje počet instancí služby, 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

Name Hodnota Description
PerSession 0

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

PerCall 1

InstanceContext Nový objekt se vytvoří před a recyklován po každém volání.

Single 2

Pro všechna příchozí volání se používá pouze jeden InstanceContext objekt a po voláních se nereykluje. 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. Pomocí výčtu InstanceContextModeServiceBehaviorAttribute.InstanceContextMode s vlastností určete životnost objektu InstanceContext . Windows Communication Foundation (WCF) může vytvořit nový InstanceContext objekt pro každé volání, každou relaci nebo určit, že InstanceContext objekt je svázán s jedním objektem služby. Pracovní příklad najdete v tématu Vytváření instancí.

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

Platí pro

Viz také