InstanceContextMode Перечисление

Определение

Задает число экземпляров службы, доступных для обработки вызовов, содержащихся во входящих сообщениях.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
Наследование
InstanceContextMode

Поля

PerCall 1

Новый объект InstanceContext создается перед каждым вызовом и удаляется после него.A new InstanceContext object is created prior to and recycled subsequent to each call.

PerSession 0

Для каждого сеанса создается новый объект InstanceContext.A new InstanceContext object is created for each session. Если канал не создает сеанс, это значение ведет себя так, как если бы оно было PerCall.If the channel does not create a session this value behaves as if it were PerCall.

Single 2

Для всех входящих вызовов используется только один объект InstanceContext, который не удаляется после этих вызовов.Only one InstanceContext object is used for all incoming calls and is not recycled subsequent to the calls. Если объект службы отсутствует, он создается.If a service object does not exist, one is created.

Примеры

В следующем коде показано, как задать InstanceContextMode для класса службы: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

Комментарии

System.ServiceModel.InstanceContext Класс управляет связью между каналом и определяемыми пользователем объектами службы.The System.ServiceModel.InstanceContext class manages the association between the channel and the user-defined service objects. Чтобы задать время существования объекта InstanceContextMode, используйте перечисление ServiceBehaviorAttribute.InstanceContextMode со свойством InstanceContext.Use the InstanceContextMode enumeration with the ServiceBehaviorAttribute.InstanceContextMode property to specify the lifetime of the InstanceContext object. Windows Communication Foundation (WCF) может создать новый InstanceContext объект для каждого вызова, каждого сеанса или указать InstanceContext , что объект привязан к отдельному объекту службы.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. Рабочий пример см. в разделе Создание экземпляров.For a working example, see Instancing.

Значение Single указывает, что в течение времени существования службы должен использоваться единственный объект InstanceContext.The Single value specifies that a single InstanceContext object should be used for the lifetime of the service. Со Single значением связано несколько предостережений:Several caveats are associated with the Single value:

Применяется к

Дополнительно