更新 : 2007 年 11 月
入力メッセージに含まれている呼び出しを処理するために使用できるサービス インスタンスの数を指定します。
名前空間 :
System.ServiceModel
アセンブリ :
System.ServiceModel (System.ServiceModel.dll 内)
Public Enumeration InstanceContextMode
Dim instance As InstanceContextMode
public enum InstanceContextMode
public enum class InstanceContextMode
public enum InstanceContextMode
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 オブジェクトを使用する必要があることを指定します。
サービス クラスに対して InstanceContextMode を設定する方法を次のコード例に示します。
' 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
// 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
参照