InstanceContextMode Enumeráció

Definíció

Megadja a bejövő üzenetekben található hívások kezelésére rendelkezésre álló szolgáltatáspéldányok számát.

public enum class InstanceContextMode
public enum InstanceContextMode
type InstanceContextMode = 
Public Enum InstanceContextMode
Öröklődés
InstanceContextMode

Mezők

Name Érték Description
PerSession 0

Minden munkamenethez létrejön egy új InstanceContext objektum. Ha a csatorna nem hoz létre munkamenetet, ez az érték úgy viselkedik, mintha az lenne PerCall.

PerCall 1

A rendszer minden hívás előtt létrehoz egy új InstanceContext objektumot, és azokat újra hasznosítják.

Single 2

A rendszer csak egy InstanceContext objektumot használ az összes bejövő híváshoz, és a hívásokat követően nem lesz újra felhasználva. Ha egy szolgáltatásobjektum nem létezik, létrejön egy.

Példák

Az alábbi kód bemutatja, hogyan állíthatja be a InstanceContextMode szolgáltatásosztályt:

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

Megjegyzések

Az System.ServiceModel.InstanceContext osztály kezeli a csatorna és a felhasználó által definiált szolgáltatásobjektumok közötti társításokat. Az objektum élettartamának megadásához használja az InstanceContextMode enumerálást a ServiceBehaviorAttribute.InstanceContextModeInstanceContext tulajdonsággal. Windows kommunikációs alaprendszer (WCF) létrehozhat egy új InstanceContext objektumot minden híváshoz, minden munkamenethez, vagy megadhatja, hogy a InstanceContext objektum egyetlen szolgáltatásobjektumhoz van-e kötve. Egy működő példa: Instancing.

Az Single érték azt határozza meg, hogy egyetlen InstanceContext objektumot kell használni a szolgáltatás teljes élettartama alatt. Az értékhez több kikötés is társítva Single van:

A következőre érvényes:

Lásd még