InstanceContextMode InstanceContextMode InstanceContextMode InstanceContextMode Enum

Definición

Especifica el número de instancias de servicio disponibles para administrar llamadas que se encuentran en mensajes entrantes.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
Herencia
InstanceContextModeInstanceContextModeInstanceContextModeInstanceContextMode

Campos

PerCall PerCall PerCall PerCall 1

Se crea con anterioridad un nuevo objeto InstanceContext y se recicla después de cada llamada.A new InstanceContext object is created prior to and recycled subsequent to each call.

PerSession PerSession PerSession PerSession 0

Se creará un nuevo objeto InstanceContext para cada sesión.A new InstanceContext object is created for each session. Si el canal no crea ninguna sesión, este valor se comporta como si fuera PerCall.If the channel does not create a session this value behaves as if it were PerCall.

Single Single Single Single 2

Sólo se utiliza un objeto InstanceContext para todas las llamadas entrantes y no se recicla después de las llamadas.Only one InstanceContext object is used for all incoming calls and is not recycled subsequent to the calls. Si un objeto de servicio no existe, se crea uno.If a service object does not exist, one is created.

Ejemplos

El siguiente código muestra cómo definir el valor de InstanceContextMode para una clase de servicio: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

Comentarios

System.ServiceModel.InstanceContext administra la asociación entre el canal y los objetos de servicio definidos por el usuario.The System.ServiceModel.InstanceContext manages the association between the channel and the user-defined service objects. Utilice la enumeración InstanceContextMode con la propiedad ServiceBehaviorAttribute.InstanceContextMode para especificar la duración del objeto InstanceContext.Use the InstanceContextMode enumeration with the ServiceBehaviorAttribute.InstanceContextMode property to specify the lifetime of the InstanceContext object. Windows Communication Foundation (WCF) puede crear un nuevo InstanceContext de objeto para cada llamada, todas las sesiones o especificar que la InstanceContext objeto está enlazado a un objeto de servicio único.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. Para obtener un ejemplo ilustrativo, consulte el Instancing.For a working example, see the Instancing.

El único valor que especifica una sola Single objeto se debe usar para la duración del servicio.The Single value specifies that a single Single object should be used for the lifetime of the service.

Nota

Si el InstanceContextMode valor se establece en Single el resultado es que su servicio sólo puede procesar un mensaje a la vez a menos que establezca también la ConcurrencyMode valor 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.

Se aplica a

Consulte también: