ServiceHost Construtores
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa uma nova instância da classe ServiceHost.
Sobrecargas
ServiceHost() |
Inicializa uma nova instância da classe ServiceHost. |
ServiceHost(Object, Uri[]) |
Inicializa uma nova instância da classe ServiceHost com a instância do serviço e seus endereços base especificados. |
ServiceHost(Type, Uri[]) |
Inicializa uma nova instância da classe ServiceHost com o tipo de serviço e seus endereços base especificados. |
ServiceHost()
Inicializa uma nova instância da classe ServiceHost.
protected:
ServiceHost();
protected ServiceHost ();
Protected Sub New ()
Comentários
Há dois construtores usados para criar uma instância da ServiceHost classe. Use o ServiceHost(Type, Uri[]) construtor que usa o tipo de serviço como um parâmetro de entrada, na maioria das vezes. O host pode usar isso para criar novos serviços conforme necessário. Use o ServiceHost(Object, Uri[]) construtor somente quando desejar que o host de serviço use uma instância singleton específica do serviço.
Aplica-se a
ServiceHost(Object, Uri[])
Inicializa uma nova instância da classe ServiceHost com a instância do serviço e 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 hospedado.
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)
Comentários
Use esse construtor como alternativa para implementar um personalizado System.ServiceModel.Dispatcher.IInstanceContextInitializer quando quiser fornecer uma instância de objeto específica para uso por um serviço singleton. Talvez você queira usar essa sobrecarga quando o tipo de implementação de serviço for difícil de construir (por exemplo, se ele não implementar um construtor público padrão que não tenha parâmetros).
Observe que quando um objeto é fornecido para essa sobrecarga, alguns recursos relacionados ao comportamento de instanciação do WCF (Windows Communication Foundation) funcionam de forma diferente. Por exemplo, a chamada InstanceContext.ReleaseServiceInstance não tem efeito quando uma instância de objeto conhecida é fornecida usando essa sobrecarga de construtor. Da mesma forma, qualquer outro mecanismo de liberação de instância é ignorado. O ServiceHost sempre se comporta como se a OperationBehaviorAttribute.ReleaseInstanceMode propriedade estivesse definida ReleaseInstanceMode.None para todas as operações.
Aplica-se a
ServiceHost(Type, Uri[])
Inicializa uma nova instância da classe ServiceHost com o tipo de serviço e 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 hospedado.
Exceções
serviceType
é null
.
Exemplos
Este exemplo ilustra como usar a ServiceHost classe para hospedar um serviço Windows Communication Foundation:
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)
Comentários
Use esse construtor quando você tiver o tipo de serviço e puder criar novas instâncias dele quando necessário, mesmo quando precisar de uma instância singleton. Use o ServiceHost(Object, Uri[]) construtor somente quando desejar que o host de serviço use uma instância singleton específica do serviço.