通过


InstanceContextMode 枚举

定义

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

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

字段

名称 说明
PerSession 0

为每个会话创建一个新 InstanceContext 对象。 如果通道不创建会话,则此值的行为就像是这样 PerCall

PerCall 1

在每次调用之前创建并回收一个新 InstanceContext 对象。

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 值相关联:

适用于

另请参阅