System.ServiceModel 名前空間


.NET Framework クラス ライブラリ
InstanceContextMode 列挙体

更新 : 2007 年 11 月

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

名前空間 :  System.ServiceModel
アセンブリ :  System.ServiceModel (System.ServiceModel.dll 内)
構文

Visual Basic (宣言)
Public Enumeration InstanceContextMode
Visual Basic (使用法)
Dim instance As InstanceContextMode
C#
public enum InstanceContextMode
Visual C++
public enum class InstanceContextMode
J#
public enum InstanceContextMode
JScript
public enum InstanceContextMode
メンバ

メンバ名説明
PerSessionセッションごとに新しい InstanceContext オブジェクトを作成します。
PerCallそれぞれの呼び出しの前に新しい InstanceContext オブジェクトを作成し、その後、そのオブジェクトをリサイクルします。チャネルがセッションを作成しない場合、この値は、PerCall であるかのように動作します。
Singleすべての着信呼び出しに対して 1 つの InstanceContext オブジェクトだけを使用し、その後、そのオブジェクトをリサイクルしません。サービス オブジェクトが存在しない場合は、1 つ作成されます。
解説

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

Single 値は、サービスの有効期間の間、単一の InstanceContext オブジェクトを使用する必要があることを指定します。

ms586708.alert_note(ja-jp,VS.90).gifメモ :

InstanceContextMode 値を Single に設定した場合は、ConcurrencyMode 値を Multiple に設定しない限り、サービスが 1 度に 1 つのメッセージだけを処理する結果となります。


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

Visual Basic
' 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

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;
    }
}
プラットフォーム

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報

.NET Framework

サポート対象 : 3.5、3.0
参照

参照

タグ :


Page view tracker