ServiceHost 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 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
承载的服务的实例。
例外
singletonInstance
为 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 的替代方法。 当服务实现类型难以构造时(例如,如果该类型不实现无参数的默认公共构造函数),您可能希望使用此重载。
请注意,向此重载提供 对象时,与 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
承载服务的类型。
例外
serviceType
为 null
。
示例
此示例演示如何使用 ServiceHost 类来托管 Windows Communication Foundation 服务:
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)
注解
当您具有服务类型并且可以根据需要(即使在需要单一实例时)创建其新实例时,请使用此构造函数。 ServiceHost(Object, Uri[])仅当希望服务主机使用服务的特定单一实例时,才改用 构造函数。