次の方法で共有


ServiceHost コンストラクター

定義

ServiceHost クラスの新しいインスタンスを初期化します。

オーバーロード

ServiceHost()

ServiceHost クラスの新しいインスタンスを初期化します。

ServiceHost(Object, Uri[])

指定したサービスのインスタンスと、そのベース アドレスを使用して、ServiceHost クラスの新しいインスタンスを初期化します。

ServiceHost(Type, Uri[])

指定したサービスの種類と、そのベース アドレスを使用して、ServiceHost クラスの新しいインスタンスを初期化します。

ServiceHost()

ServiceHost クラスの新しいインスタンスを初期化します。

protected:
 ServiceHost();
protected ServiceHost ();
Protected Sub New ()

注釈

クラスのインスタンス ServiceHost を作成するために使用されるコンストラクターは 2 つあります。 ほとんどの場合、 ServiceHost(Type, Uri[]) 入力パラメーターとしてサービスの種類を受け取るコンストラクターを使用します。 ホストは、これを使用して、必要に応じて新しいサービスを作成できます。 代わりに、 ServiceHost(Object, Uri[]) サービス ホストがサービスの特定のシングルトン インスタンスを使用する場合にのみ、コンストラクターを使用します。

適用対象

ServiceHost(Object, Uri[])

指定したサービスのインスタンスと、そのベース アドレスを使用して、ServiceHost クラスの新しいインスタンスを初期化します。

public:
 ServiceHost(System::Object ^ singletonInstance, ... cli::array <Uri ^> ^ baseAddresses);
public ServiceHost (object singletonInstance, params Uri[] baseAddresses);
new System.ServiceModel.ServiceHost : obj * Uri[] -> System.ServiceModel.ServiceHost
Public Sub New (singletonInstance As Object, ParamArray baseAddresses As Uri())

パラメーター

singletonInstance
Object

ホストされたサービスのインスタンス。

baseAddresses
Uri[]

ホストされるサービスのベース アドレスを格納する Array 型の Uri

例外

singletonInstancenullです。

CalculatorService service = new CalculatorService();
ServiceHost serviceHost = new ServiceHost(service, baseAddress);
Dim service As CalculatorService = New CalculatorService()
Dim serviceHost As ServiceHost = New ServiceHost(service, baseAddress)

注釈

シングルトン サービスで使用する特定のオブジェクト インスタンスを提供する場合は、カスタム System.ServiceModel.Dispatcher.IInstanceContextInitializer を実装する代わりに、このコンストラクターを使用します。 サービスを実装する型を作成することが困難な場合 (たとえば、パラメーターを持たない既定のパブリック コンストラクターを実装しない場合) は、このオーバーロードを使用できます。

このオーバーロードにオブジェクトを指定すると、Windows Communication Foundation (WCF) のインスタンス化動作に関連する一部の機能の動作が異なることがあります。 たとえば、このコンストラクター オーバーロードを使用して既知のオブジェクト インスタンスが提供されている場合、 の呼び出し InstanceContext.ReleaseServiceInstance は無効です。 他のインスタンス解放機構も、同様に無視されます。 ServiceHost は常に、すべての操作について OperationBehaviorAttribute.ReleaseInstanceMode プロパティが ReleaseInstanceMode.None に設定されているかのように動作します。

適用対象

ServiceHost(Type, Uri[])

指定したサービスの種類と、そのベース アドレスを使用して、ServiceHost クラスの新しいインスタンスを初期化します。

public:
 ServiceHost(Type ^ serviceType, ... cli::array <Uri ^> ^ baseAddresses);
public ServiceHost (Type serviceType, params Uri[] baseAddresses);
new System.ServiceModel.ServiceHost : Type * Uri[] -> System.ServiceModel.ServiceHost
Public Sub New (serviceType As Type, ParamArray baseAddresses As Uri())

パラメーター

serviceType
Type

ホストされるサービスの型。

baseAddresses
Uri[]

ホストされるサービスのベース アドレスを格納する Uri 型の配列。

例外

serviceTypenullです。

このサンプルでは、 クラスを使用 ServiceHost して Windows Communication Foundation サービスをホストする方法を示します。

ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)

注釈

このコンストラクターは、サービスの種類があり、必要に応じて新しいインスタンスを作成できる場合に使用します。これは、シングルトン インスタンスが必要な場合でも使用します。 代わりに、 ServiceHost(Object, Uri[]) サービス ホストがサービスの特定のシングルトン インスタンスを使用する場合にのみ、コンストラクターを使用します。

適用対象