Freigeben über


InstanceContextMode Enumeration

Definition

Gibt die Anzahl von Dienstinstanzen an, die verfügbar sind, um die in eingehenden Nachrichten enthaltenen Aufrufe zu behandeln.

public enum class InstanceContextMode
public enum InstanceContextMode
type InstanceContextMode = 
Public Enum InstanceContextMode
Vererbung
InstanceContextMode

Felder

PerCall 1

Ein neues InstanceContext-Objekt wird vor jedem Aufruf erstellt und im Anschluss wiederverwendet.

PerSession 0

Ein neues InstanceContext-Objekt wird zu jeder Sitzung erstellt. Wenn der Kanal keine Sitzung erstellt, verhält sich dieser Wert wie PerCall.

Single 2

Nur ein InstanceContext-Objekt wird für alle eingehenden Aufrufe verwendet und nicht bei den nachfolgenden Aufrufen wiederverwendet. Wenn ein Dienstobjekt nicht vorhanden ist, wird eins erstellt.

Beispiele

Am folgenden Code ist zu erkennen, wie InstanceContextMode für eine Dienstklasse angegeben wird:

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

Hinweise

Die System.ServiceModel.InstanceContext Klasse verwaltet die Zuordnung zwischen dem Kanal und den benutzerdefinierten Dienstobjekten. Verwenden Sie die InstanceContextMode-Enumeration mit der ServiceBehaviorAttribute.InstanceContextMode-Eigenschaft, um die Lebensdauer des InstanceContext-Objekts anzugeben. Windows Communication Foundation (WCF) kann für jeden Aufruf, jede Sitzung ein neues InstanceContext Objekt erstellen oder angeben, dass das InstanceContext Objekt an ein einzelnes Dienstobjekt gebunden ist. Ein Arbeitsbeispiel finden Sie unter "Instancing".

Der Single-Wert gibt an, dass ein einzelnes InstanceContext-Objekt für die gesamte Lebensdauer des Dienstes verwendet werden sollte. Mehrere Vorbehalte sind dem Single Wert zugeordnet:

Gilt für

Siehe auch