英語で読む

次の方法で共有


InstanceContextMode 列挙型

定義

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

C#
public enum InstanceContextMode
継承
InstanceContextMode

フィールド

PerCall 1

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

PerSession 0

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

Single 2

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

サービス クラスに対して InstanceContextMode を設定する方法を次のコード例に示します。

C#
// 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;
    }
}

注釈

このクラスは System.ServiceModel.InstanceContext 、チャネルとユーザー定義サービス オブジェクト間の関連付けを管理します。 InstanceContextMode プロパティを持つ ServiceBehaviorAttribute.InstanceContextMode 列挙型を使用して、InstanceContext オブジェクトの有効期間を指定します。 Windows Communication Foundation (WCF) は、すべての呼び出し、すべてのセッションに対して新しいInstanceContextオブジェクトを作成したり、オブジェクトが 1 つのサービス オブジェクトにバインドされることをInstanceContext指定したりできます。 実際の例については、「 インスタンス化」を参照してください。

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

適用対象

製品 バージョン
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

こちらもご覧ください