InstanceContextMode InstanceContextMode InstanceContextMode InstanceContextMode Enum

Definizione

Specifica il numero di istanze del servizio disponibili per la gestione delle chiamate contenute nei messaggi in ingresso.Specifies the number of service instances available for handling calls that are contained in incoming messages.

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

Campi

PerCall PerCall PerCall PerCall 1

Prima di ogni chiamata viene creato un nuovo oggetto InstanceContext che, al termine di ogni chiamata, viene riciclato.A new InstanceContext object is created prior to and recycled subsequent to each call.

PerSession PerSession PerSession PerSession 0

A ogni sessione viene creato un nuovo oggetto InstanceContext.A new InstanceContext object is created for each session. Se il canale non crea alcuna sessione, questo valore funziona come se fosse PerCall.If the channel does not create a session this value behaves as if it were PerCall.

Single Single Single Single 2

Per tutte le chiamate in ingresso viene utilizzato un solo oggetto InstanceContext. Tale oggetto, inoltre, non viene riciclato al termine delle chiamate.Only one InstanceContext object is used for all incoming calls and is not recycled subsequent to the calls. Se non esiste alcun oggetto servizio, ne viene creato uno.If a service object does not exist, one is created.

Esempi

Nell'esempio di codice seguente viene illustrato come impostare l'enumerazione InstanceContextMode di una classe di servizio:The following code illustrates how to set the InstanceContextMode for a service class:

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

L'enumerazione System.ServiceModel.InstanceContext gestisce l'associazione tra il canale e gli oggetti servizio definiti dall'utente.The System.ServiceModel.InstanceContext manages the association between the channel and the user-defined service objects. L'enumerazione InstanceContextMode può essere utilizzata con la proprietà ServiceBehaviorAttribute.InstanceContextMode per specificare la durata dell'oggetto InstanceContext.Use the InstanceContextMode enumeration with the ServiceBehaviorAttribute.InstanceContextMode property to specify the lifetime of the InstanceContext object. Windows Communication Foundation (WCF) è possibile creare una nuova InstanceContext dell'oggetto per ogni chiamata, tutte le sessioni o specificare che il InstanceContext oggetto è associato a un solo oggetto servizio.Windows Communication Foundation (WCF) can create a new InstanceContext object for every call, every session or specify that the InstanceContext object is bound to a single service object. Per un esempio funzionante, vedere la Instancing.For a working example, see the Instancing.

Il valore Single consente di specificare che un singolo Single oggetto deve essere utilizzato per la durata del servizio.The Single value specifies that a single Single object should be used for the lifetime of the service.

Nota

Se il InstanceContextMode valore è impostato su Single il risultato è che il servizio può elaborare solo un messaggio alla volta a meno che non si imposta anche il ConcurrencyMode valore Multiple.If the InstanceContextMode value is set to Single the result is that your service can only process one message at a time unless you also set the ConcurrencyMode value to Multiple.

Si applica a

Vedi anche