InstanceContextMode 枚举

定义

指定可用来处理包含在传入消息中的调用的服务实例数。

public enum class InstanceContextMode
public enum InstanceContextMode
type InstanceContextMode = 
Public Enum InstanceContextMode
继承
InstanceContextMode

字段

PerCall 1

新的 InstanceContext 对象在每次调用前创建,在调用后回收。

PerSession 0

为每个会话创建一个新的 InstanceContext 对象。 如果信道未创建会话,则该值的行为就如同 PerCall 一样。

Single 2

只有一个 InstanceContext 对象用于所有传入呼叫,并且在调用后不回收。 如果服务对象不存在,则创建一个。

示例

下面的代码演示如何为服务类设置 InstanceContextMode

// 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 类管理通道与用户定义的服务对象之间的关联。 使用 InstanceContextMode 枚举和 ServiceBehaviorAttribute.InstanceContextMode 属性来指定 InstanceContext 对象的生存期。 Windows Communication Foundation (WCF) 可以为每个调用、每个会话或指定对象InstanceContext绑定到单个服务对象创建新InstanceContext对象。 有关工作示例,请参阅 实例化。

Single 值指定单个 InstanceContext 对象应该用于服务的整个生存期。 多个注意事项与 Single 值相关联:

适用于

另请参阅