ServiceHost 构造函数

定义

初始化 ServiceHost 类的新实例。

重载

ServiceHost()

初始化 ServiceHost 类的新实例。

ServiceHost(Object, Uri[])

使用服务的实例及其指定的基址初始化 ServiceHost 类的新实例。

ServiceHost(Type, Uri[])

使用服务的类型及其指定的基址初始化 ServiceHost 类的新实例。

ServiceHost()

初始化 ServiceHost 类的新实例。

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

注解

有两个构造函数用于创建 类的 ServiceHost 实例。 大多数情况下, 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[])仅当希望服务主机使用服务的特定单一实例时,才改用 构造函数。

适用于