InstanceContextMode 列挙型

定義

入力メッセージに含まれている呼び出しを処理するために使用できるサービス インスタンスの数を指定します。

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

フィールド

PerCall 1

それぞれの呼び出しの前に新しい InstanceContext オブジェクトを作成し、その後、そのオブジェクトをリサイクルします。

PerSession 0

セッションごとに新しい InstanceContext オブジェクトを作成します。 チャネルがセッションを作成しない場合、この値は、PerCall であるかのように動作します。

Single 2

すべての着信呼び出しに対して 1 つの InstanceContext オブジェクトだけを使用し、その後、そのオブジェクトをリサイクルしません。 サービス オブジェクトが存在しない場合は、1 つ作成されます。

サービス クラスに対して 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オブジェクトを作成したり、オブジェクトが 1 つのサービス オブジェクトにバインドされることをInstanceContext指定したりできます。 実際の例については、「 インスタンス化」を参照してください。

Single 値は、サービスの有効期間の間、単一の InstanceContext オブジェクトを使用する必要があることを指定します。 値には、いくつかの注意事項が Single 関連付けられています。

適用対象

こちらもご覧ください