ServiceHost ServiceHost ServiceHost ServiceHost Constructors

定義

オーバーロード

ServiceHost() ServiceHost() ServiceHost()

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

ServiceHost(Object, Uri[]) ServiceHost(Object, Uri[]) ServiceHost(Object, Uri[]) 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(Type, Uri[]) ServiceHost(Type, Uri[]) ServiceHost(Type, Uri[])

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

ServiceHost() ServiceHost() 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(Object, Uri[]) ServiceHost(Object, Uri[]) 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 Object Object 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(Type, Uri[]) ServiceHost(Type, Uri[]) 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 Type Type Type

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

baseAddresses
Uri[]

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

例外

次の例は、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.

適用対象