通过


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[])仅当希望服务主机使用服务的特定单一实例时,才使用构造函数。

适用于