Compartilhar via


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.

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.

PerSession 0

Um novo objeto InstanceContext é criado para cada sessão. Se o canal não criar uma sessão, esse valor se comportará como se fosse PerCall.

Single 2

Apenas um objeto InstanceContext é usado para todas as chamadas de entrada e não é reciclado após as chamadas. Se não existir nenhum objeto de serviço, um será criado.

Exemplos

O código a seguir ilustra como definir a InstanceContextMode classe de serviço:

// 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. Use a InstanceContextMode enumeração com a ServiceBehaviorAttribute.InstanceContextMode propriedade para especificar o tempo de vida do InstanceContext objeto. Windows Communication Foundation (WCF) pode criar um novo InstanceContext objeto para cada chamada, cada sessão ou especificar que o InstanceContext objeto está associado a um único objeto de serviço. Para obter um exemplo de trabalho, consulte Instancing.

O Single valor especifica que um único InstanceContext objeto deve ser usado para o tempo de vida do serviço. Várias ressalvas estão associadas ao Single valor:

Aplica-se a

Confira também