ServiceHost コンストラクター

定義

ServiceHost クラスの新しいインスタンスを初期化します。Initializes a new instance of the ServiceHost class.

オーバーロード

ServiceHost()

ServiceHost クラスの新しいインスタンスを初期化します。Initializes a new instance of the ServiceHost class.

ServiceHost(Object, Uri[])

指定したサービスのインスタンスと、そのベース アドレスを使用して、ServiceHost クラスの新しいインスタンスを初期化します。Initializes a new instance of the ServiceHost class with the instance of the service and its base addresses specified.

ServiceHost(Type, Uri[])

指定したサービスの種類と、そのベース アドレスを使用して、ServiceHost クラスの新しいインスタンスを初期化します。Initializes a new instance of the ServiceHost class with the type of service and its base addresses specified.

ServiceHost()

ServiceHost クラスの新しいインスタンスを初期化します。Initializes a new instance of the ServiceHost class.

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

注釈

ServiceHost クラスのインスタンスを作成するには、2つのコンストラクターを使用します。There are two constructors used to create an instance of the ServiceHost class. サービスの種類を入力パラメーターとして受け取る ServiceHost(Type, Uri[]) コンストラクターを使用します (ほとんどの場合)。Use the ServiceHost(Type, Uri[]) constructor which takes the service type as an input parameter, most of the time. ホストは、これを使用して、必要に応じて新しいサービスを作成できます。The host can use this to create new services as needed. サービスホストでサービスの特定のシングルトンインスタンスを使用する場合にのみ、ServiceHost(Object, Uri[]) コンストラクターを使用します。Use the ServiceHost(Object, Uri[]) constructor instead only when you want the service host to use a specific singleton instance of the service.

ServiceHost(Object, Uri[])

指定したサービスのインスタンスと、そのベース アドレスを使用して、ServiceHost クラスの新しいインスタンスを初期化します。Initializes a new instance of the ServiceHost class with the instance of the service and its base addresses specified.

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

ホストされたサービスのインスタンス。The instance of the hosted service.

baseAddresses
Uri[]

ホストされるサービスのベース アドレスを格納する Array 型の UriAn Array of type Uri that contains the base addresses for the hosted service.

例外

singletonInstancenull です。singletonInstance is null.

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 を実装する代わりに使用します。Use this constructor as an alternative to implementing a custom System.ServiceModel.Dispatcher.IInstanceContextInitializer when you want to provide a specific object instance for use by a singleton service. サービスを実装する型を作成することが困難な場合 (たとえば、パラメーターを持たない既定のパブリック コンストラクターを実装しない場合) は、このオーバーロードを使用できます。You may want to use this overload when your service implementation type is difficult to construct (for example, if it does not implement a default public constructor that has no parameters).

このオーバーロードにオブジェクトが指定されている場合は、Windows Communication Foundation (WCF) のインスタンス化動作に関連する一部の機能が異なる動作をすることに注意してください。Note that when an object is provided to this overload, some features related to the Windows Communication Foundation (WCF) instancing behavior work differently. たとえば、既知のオブジェクトインスタンスがこのコンストラクターのオーバーロードを使用して提供されている場合、InstanceContext.ReleaseServiceInstance を呼び出すと、効果はありません。For example, calling InstanceContext.ReleaseServiceInstance have no effect when a well-known object instance is provided using this constructor overload. 他のインスタンス解放機構も、同様に無視されます。Similarly, any other instance release mechanism is ignored. ServiceHost は常に、すべての操作について OperationBehaviorAttribute.ReleaseInstanceMode プロパティが ReleaseInstanceMode.None に設定されているかのように動作します。The ServiceHost always behaves as if the OperationBehaviorAttribute.ReleaseInstanceMode property is set to ReleaseInstanceMode.None for all operations.

ServiceHost(Type, Uri[])

指定したサービスの種類と、そのベース アドレスを使用して、ServiceHost クラスの新しいインスタンスを初期化します。Initializes a new instance of the ServiceHost class with the type of service and its base addresses specified.

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

ホストされるサービスの型。The type of hosted service.

baseAddresses
Uri[]

ホストされるサービスのベース アドレスを格納する Uri 型の配列。An array of type Uri that contains the base addresses for the hosted service.

例外

serviceTypenull です。serviceType is null.

このサンプルでは、ServiceHost クラスを使用して Windows Communication Foundation サービスをホストする方法を示します。This sample illustrates how to use the ServiceHost class to host a Windows Communication Foundation service:

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

注釈

このコンストラクターは、サービスの種類があり、必要に応じて新しいインスタンスを作成できる場合に使用します。これは、シングルトン インスタンスが必要な場合でも使用します。Use this constructor when you have the service type and you can create new instances of it when needed, even when you need a singleton instance. サービスホストでサービスの特定のシングルトンインスタンスを使用する場合にのみ、ServiceHost(Object, Uri[]) コンストラクターを使用します。Use the ServiceHost(Object, Uri[]) constructor instead only when you want the service host to use a specific singleton instance of the service.

適用対象