ServiceHost Constructores

Definición

Inicializa una nueva instancia de la clase ServiceHost.

Sobrecargas

ServiceHost()

Inicializa una nueva instancia de la clase ServiceHost.

ServiceHost(Object, Uri[])

Inicializa una nueva instancia de la clase ServiceHost con la instancia del servicio y las direcciones base especificadas.

ServiceHost(Type, Uri[])

Inicializa una nueva instancia de la clase ServiceHost con el tipo de servicio y las direcciones base especificadas.

ServiceHost()

Inicializa una nueva instancia de la clase ServiceHost.

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

Comentarios

Hay dos constructores que se usan para crear una instancia de la ServiceHost clase . Use el ServiceHost(Type, Uri[]) constructor que toma el tipo de servicio como parámetro de entrada, la mayoría de las veces. El host puede utilizar esto para crear nuevos servicios, según sea necesario. En su lugar, use el ServiceHost(Object, Uri[]) constructor solo cuando desee que el host de servicio use una instancia singleton específica del servicio.

Se aplica a

ServiceHost(Object, Uri[])

Inicializa una nueva instancia de la clase ServiceHost con la instancia del servicio y las direcciones base especificadas.

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())

Parámetros

singletonInstance
Object

La instancia del servicio hospedado.

baseAddresses
Uri[]

Array de tipo Uri que contiene las direcciones base para el servicio hospedado.

Excepciones

singletonInstance es null.

Ejemplos

CalculatorService service = new CalculatorService();
ServiceHost serviceHost = new ServiceHost(service, baseAddress);
Dim service As CalculatorService = New CalculatorService()
Dim serviceHost As ServiceHost = New ServiceHost(service, baseAddress)

Comentarios

Use este constructor como alternativa a la implementación de un personalizado System.ServiceModel.Dispatcher.IInstanceContextInitializer cuando desee proporcionar una instancia de objeto específica para que la use un servicio singleton. Puede desear utilizar esta sobrecarga cuando su tipo de implementación de servicio es difícil de construir (por ejemplo, si no implementa ningún constructor público predeterminado que no tiene parámetros).

Tenga en cuenta que cuando se proporciona un objeto a esta sobrecarga, algunas características relacionadas con el comportamiento de creación de instancias de Communication Foundation (WCF) de Windows funcionan de forma diferente. Por ejemplo, la llamada a InstanceContext.ReleaseServiceInstance no tiene ningún efecto cuando se proporciona una instancia de objeto conocida mediante esta sobrecarga del constructor. De igual forma, se omite cualquier otro mecanismo de lanzamiento de instancia. ServiceHost siempre se comporta como si la propiedad OperationBehaviorAttribute.ReleaseInstanceMode estuviera definida en ReleaseInstanceMode.None para todas las operaciones.

Se aplica a

ServiceHost(Type, Uri[])

Inicializa una nueva instancia de la clase ServiceHost con el tipo de servicio y las direcciones base especificadas.

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())

Parámetros

serviceType
Type

El tipo de servicio hospedado.

baseAddresses
Uri[]

Una matriz de tipo Uri que contiene las direcciones base para el servicio hospedado.

Excepciones

serviceType es null.

Ejemplos

En este ejemplo se muestra cómo usar la ServiceHost clase para hospedar un servicio Windows Communication Foundation:

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

Comentarios

Utilice este constructor cuando tenga el tipo de servicio y pueda crear nuevas instancias de él cuando sea necesario, aun cuando necesite una instancia de singleton. En su lugar, use el ServiceHost(Object, Uri[]) constructor solo cuando desee que el host de servicio use una instancia singleton específica del servicio.

Se aplica a