Condividi tramite


InstanceContextMode Enumerazione

Definizione

Specifica il numero di istanze del servizio disponibili per la gestione delle chiamate contenute nei messaggi in ingresso.

public enum class InstanceContextMode
public enum InstanceContextMode
type InstanceContextMode = 
Public Enum InstanceContextMode
Ereditarietà
InstanceContextMode

Campi

Nome Valore Descrizione
PerSession 0

Viene creato un nuovo InstanceContext oggetto per ogni sessione. Se il canale non crea una sessione, questo valore si comporta come se fosse PerCall.

PerCall 1

Un nuovo InstanceContext oggetto viene creato prima e riciclato successivamente a ogni chiamata.

Single 2

Per tutte le chiamate in ingresso viene usato un InstanceContext solo oggetto e non viene riciclato successivamente alle chiamate. Se non esiste un oggetto servizio, ne viene creato uno.

Esempio

Il codice seguente illustra come impostare per InstanceContextMode una classe del servizio:

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

Commenti

La System.ServiceModel.InstanceContext classe gestisce l'associazione tra il canale e gli oggetti servizio definiti dall'utente. Utilizzare l'enumerazione InstanceContextMode con la ServiceBehaviorAttribute.InstanceContextMode proprietà per specificare la durata dell'oggetto InstanceContext . Windows Communication Foundation (WCF) può creare un nuovo InstanceContext oggetto per ogni chiamata, ogni sessione o specificare che l'oggetto InstanceContext è associato a un singolo oggetto servizio. Per un esempio funzionante, vedere Creazione di istanze.

Il Single valore specifica che un singolo InstanceContext oggetto deve essere utilizzato per la durata del servizio. Al valore sono associate Single diverse avvertenze:

Si applica a

Vedi anche