ServiceHost Construtores

Definição

Inicializa uma nova instância da ServiceHost classe.

Sobrecargas

Name Description
ServiceHost()

Inicializa uma nova instância da ServiceHost classe.

ServiceHost(Object, Uri[])

Inicializa uma nova instância da ServiceHost classe com a instância do serviço e os seus endereços base especificados.

ServiceHost(Type, Uri[])

Inicializa uma nova instância da ServiceHost classe com o tipo de serviço e os seus endereços base especificados.

ServiceHost()

Inicializa uma nova instância da ServiceHost classe.

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

Observações

Existem dois construtores usados para criar uma instância da ServiceHost classe. Use o ServiceHost(Type, Uri[]) construtor que recebe o tipo de serviço como parâmetro de entrada, na maioria das vezes. O anfitrião pode usar isto para criar novos serviços conforme necessário. Usa o ServiceHost(Object, Uri[]) construtor apenas quando quiseres que o host do serviço use uma instância singleton específica do serviço.

Aplica-se a

ServiceHost(Object, Uri[])

Inicializa uma nova instância da ServiceHost classe com a instância do serviço e os seus endereços base especificados.

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

A instância do serviço alojado.

baseAddresses
Uri[]

Um Array de tipo Uri que contém os endereços base do serviço alojado.

Exceções

singletonInstance é null.

Exemplos

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

Observações

Use este construtor como alternativa à implementação de um custom System.ServiceModel.Dispatcher.IInstanceContextInitializer quando quiser fornecer uma instância de objeto específica para uso por um serviço singleton. Pode querer usar esta sobrecarga quando o tipo de implementação do seu serviço for difícil de construir (por exemplo, se não implementar um construtor público padrão que não tenha parâmetros).

Note-se que, quando um objeto é fornecido a esta sobrecarga, algumas funcionalidades relacionadas com o comportamento de instanciação da Windows Communication Foundation (WCF) funcionam de forma diferente. Por exemplo, chamar InstanceContext.ReleaseServiceInstance não tem efeito quando uma instância de objeto bem conhecida é fornecida usando esta sobrecarga de construtores. Da mesma forma, qualquer outro mecanismo de liberação de instância é ignorado. O ServiceHost sempre se comporta, para todas as operações, como se a propriedade OperationBehaviorAttribute.ReleaseInstanceMode estivesse definida para ReleaseInstanceMode.None.

Aplica-se a

ServiceHost(Type, Uri[])

Inicializa uma nova instância da ServiceHost classe com o tipo de serviço e os seus endereços base especificados.

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

O tipo de serviço alojado.

baseAddresses
Uri[]

Um array de tipos Uri que contém os endereços base do serviço alojado.

Exceções

serviceType é null.

Exemplos

Este exemplo ilustra como usar a classe ServiceHost para hospedar um serviço Windows Communication Foundation:

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

Observações

Usa este construtor quando tiveres o tipo de serviço e podes criar novas instâncias dele quando necessário, mesmo quando precisares de uma instância singleton. Usa o ServiceHost(Object, Uri[]) construtor apenas quando quiseres que o host do serviço use uma instância singleton específica do serviço.

Aplica-se a