Comparteix a través de


InstanceContextMode Enumeración

Definición

Especifica el número de instancias de servicio disponibles para administrar llamadas que se encuentran en mensajes entrantes.

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

Campos

PerCall 1

Se crea con anterioridad un nuevo objeto InstanceContext y se recicla después de cada llamada.

PerSession 0

Se creará un nuevo objeto InstanceContext para cada sesión. Si el canal no crea ninguna sesión, este valor se comporta como si fuera PerCall.

Single 2

Sólo se utiliza un objeto InstanceContext para todas las llamadas entrantes y no se recicla después de las llamadas. Si un objeto de servicio no existe, se crea uno.

Ejemplos

El siguiente código muestra cómo definir el valor de InstanceContextMode para una clase de servicio:

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

Comentarios

La System.ServiceModel.InstanceContext clase administra la asociación entre el canal y los objetos de servicio definidos por el usuario. Utilice la enumeración InstanceContextMode con la propiedad ServiceBehaviorAttribute.InstanceContextMode para especificar la duración del objeto InstanceContext. Windows Communication Foundation (WCF) puede crear un nuevo InstanceContext objeto para cada llamada, cada sesión o especificar que el InstanceContext objeto está enlazado a un único objeto de servicio. Para obtener un ejemplo de trabajo, consulte Instancing( Creación de instancias).

El valor Single especifica que un objeto InstanceContext único debería utilizarse durante el servicio. Hay varias advertencias asociadas al Single valor:

Se aplica a

Consulte también