InstanceContext.GetServiceInstance メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サービスのインスタンスを返します。
オーバーロード
GetServiceInstance() |
インスタンス コンテキストのサービスのインスタンスを返します。 |
GetServiceInstance(Message) |
受信メッセージに応答して、インスタンス コンテキストのサービスのインスタンスを返します。 |
GetServiceInstance()
インスタンス コンテキストのサービスのインスタンスを返します。
public:
System::Object ^ GetServiceInstance();
public object GetServiceInstance ();
member this.GetServiceInstance : unit -> obj
Public Function GetServiceInstance () As Object
戻り値
サービス インスタンスを表すオブジェクト。
例外
サービス インスタンスが created または opening 状態であるか、または初期化されていません。
サービス インスタンスは中止されています。
サービス インスタンスは既に閉じています。この状態では変更できません。
サービス インスタンスは違反しているので、この状態では変更できません。
例
Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/service");
// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
serviceHost.Open();
OperationContext operationContext = OperationContext.Current;
InstanceContext instanceContext = operationContext.InstanceContext;
CalculatorService service = (CalculatorService) instanceContext.GetServiceInstance();
}
適用対象
GetServiceInstance(Message)
受信メッセージに応答して、インスタンス コンテキストのサービスのインスタンスを返します。
public:
System::Object ^ GetServiceInstance(System::ServiceModel::Channels::Message ^ message);
public object GetServiceInstance (System.ServiceModel.Channels.Message message);
member this.GetServiceInstance : System.ServiceModel.Channels.Message -> obj
Public Function GetServiceInstance (message As Message) As Object
パラメーター
- message
- Message
サービス オブジェクトの作成をトリガーした受信メッセージ。
戻り値
サービス インスタンスを表すオブジェクト。
例外
サービス インスタンスが created または opening 状態であるか、または初期化されていません。
サービス インスタンスは中止されています。
サービス インスタンスは既に閉じています。この状態では変更できません。
サービス インスタンスは違反しているので、この状態では変更できません。
例
Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/service");
// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
serviceHost.Open();
OperationContext operationContext = OperationContext.Current;
InstanceContext instanceContext = operationContext.InstanceContext;
CalculatorService service = (CalculatorService)instanceContext.GetServiceInstance(msg);
}
注釈
通常、サービスのインスタンスは、そのサービス向けのメッセージが到着したときにのみ Open を呼び出して作成します。到着するメッセージがなければ、InstanceContext とサービス オブジェクトは作成されません。したがって、リソースは、実際に必要になるまでは使用されません。