InstanceContextMode Enumeração

Definição

Especifica o número de instâncias de serviço disponíveis para tratar as chamadas contidas em mensagens de entrada.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
Herança
InstanceContextMode

Campos

PerCall 1

Um novo objeto InstanceContext é criado antes de cada chamada e reciclado depois dela.A new InstanceContext object is created prior to and recycled subsequent to each call.

PerSession 0

Um novo objeto InstanceContext é criado para cada sessão.A new InstanceContext object is created for each session. Se o canal não criar uma sessão, esse valor se comportará como se fosse PerCall.If the channel does not create a session this value behaves as if it were PerCall.

Single 2

Apenas um objeto InstanceContext é usado para todas as chamadas de entrada e não é reciclado após as chamadas.Only one InstanceContext object is used for all incoming calls and is not recycled subsequent to the calls. Se não existir nenhum objeto de serviço, um será criado.If a service object does not exist, one is created.

Exemplos

O código a seguir ilustra como definir o InstanceContextMode para uma classe de serviço: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

Comentários

A System.ServiceModel.InstanceContext classe gerencia a associação entre o canal e os objetos de serviço definidos pelo usuário.The System.ServiceModel.InstanceContext class manages the association between the channel and the user-defined service objects. Use a InstanceContextMode enumeração com a ServiceBehaviorAttribute.InstanceContextMode propriedade para InstanceContext especificar o tempo de vida do objeto.Use the InstanceContextMode enumeration with the ServiceBehaviorAttribute.InstanceContextMode property to specify the lifetime of the InstanceContext object. Windows Communication Foundation (WCF) pode criar um novo InstanceContext objeto para cada chamada, todas as sessões ou especificar que o InstanceContext objeto está associado a um único objeto de serviço.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 obter um exemplo funcional, consulte instanciação.For a working example, see Instancing.

O Single valor especifica que um único InstanceContext objeto deve ser usado para o tempo de vida do serviço.The Single value specifies that a single InstanceContext object should be used for the lifetime of the service. Várias limitações estão associadas Single ao valor:Several caveats are associated with the Single value:

Aplica-se a

Veja também