ServiceHost Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece um anfitrião para os serviços.
public ref class ServiceHost : System::ServiceModel::ServiceHostBase
public class ServiceHost : System.ServiceModel.ServiceHostBase
type ServiceHost = class
inherit ServiceHostBase
Public Class ServiceHost
Inherits ServiceHostBase
- Herança
- Derivado
Exemplos
// Host the service within this EXE console application.
public static void Main()
{
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService)))
{
try
{
// Open the ServiceHost to start listening for messages.
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.ReadLine();
// Close the ServiceHost.
serviceHost.Close();
}
catch (TimeoutException timeProblem)
{
Console.WriteLine(timeProblem.Message);
Console.ReadLine();
}
catch (CommunicationException commProblem)
{
Console.WriteLine(commProblem.Message);
Console.ReadLine();
}
}
}
' Host the service within this EXE console application.
Public Shared Sub Main()
' Create a ServiceHost for the CalculatorService type and use the base address from config.
Using svcHost As New ServiceHost(GetType(CalculatorService))
Try
' Open the ServiceHost to start listening for messages.
svcHost.Open()
' The service can now be accessed.
Console.WriteLine("The service is ready.")
Console.WriteLine("Press <ENTER> to terminate service.")
Console.WriteLine()
Console.ReadLine()
'Close the ServiceHost.
svcHost.Close()
Catch timeout As TimeoutException
Console.WriteLine(timeout.Message)
Console.ReadLine()
Catch commException As CommunicationException
Console.WriteLine(commException.Message)
Console.ReadLine()
End Try
End Using
End Sub
Observações
Implementa o host utilizado pelo modelo de programação do modelo de serviço da Windows Communication Foundation (WCF).
Use a classe ServiceHost para configurar e expor um serviço para uso por aplicações clientes quando não estiver a usar Serviços de Informação Internet (IIS) ou Windows Serviços de Ativação (WAS) para expor um serviço. Tanto o IIS como o WAS interagem com um ServiceHost objeto em teu nome.
Para expor um serviço para uso pelos chamadores, a WCF requer uma descrição completa do serviço (representada pela ServiceDescription classe). A ServiceHost classe cria a ServiceDescription partir do tipo de serviço e da informação de configuração e depois usa essa descrição para criar ChannelDispatcher objetos para cada endpoint na descrição.
Use um ServiceHost objeto para carregar um serviço, configurar endpoints, aplicar definições de segurança e iniciar ouvintes para tratar pedidos recebidos.
Construtores
| 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. |
Propriedades
| Name | Description |
|---|---|
| Authentication |
Obtém o comportamento de autenticação do serviço. (Herdado de ServiceHostBase) |
| Authorization |
Obtém o comportamento de autorização do serviço alojado. (Herdado de ServiceHostBase) |
| BaseAddresses |
Obtém os endereços base usados pelo serviço alojado. (Herdado de ServiceHostBase) |
| ChannelDispatchers |
Obtém a coleção de despachantes de canal utilizada pelo anfitrião de serviço. (Herdado de ServiceHostBase) |
| CloseTimeout |
Obtém ou define o intervalo de tempo permitido para o host do serviço fechar. (Herdado de ServiceHostBase) |
| Credentials |
Obtém a credencial do serviço alojado. (Herdado de ServiceHostBase) |
| DefaultCloseTimeout |
Obtém o intervalo de tempo padrão permitido para o host do serviço fechar. (Herdado de ServiceHostBase) |
| DefaultOpenTimeout |
Obtém o intervalo de tempo padrão permitido para o host do serviço abrir. (Herdado de ServiceHostBase) |
| Description |
Recebe a descrição do serviço alojado. (Herdado de ServiceHostBase) |
| Extensions |
Obtém as extensões para o host de serviço atualmente especificado. (Herdado de ServiceHostBase) |
| ImplementedContracts |
Recupera os contratos implementados pelo serviço alojado. (Herdado de ServiceHostBase) |
| IsDisposed |
Obtém um valor que indica se o objeto de comunicação foi eliminado. (Herdado de CommunicationObject) |
| ManualFlowControlLimit |
Obtém ou define o limite de controlo de fluxo para mensagens recebidas pelo serviço alojado. (Herdado de ServiceHostBase) |
| OpenTimeout |
Obtém ou define o intervalo de tempo permitido para o host do serviço abrir. (Herdado de ServiceHostBase) |
| SingletonInstance |
Obtém a instância singleton do serviço alojado. |
| State |
Obtém um valor que indica o estado atual do objeto de comunicação. (Herdado de CommunicationObject) |
| ThisLock |
Obtém o bloqueio mutuamente exclusivo que protege a instância de classe durante uma transição de estado. (Herdado de CommunicationObject) |
Métodos
| Name | Description |
|---|---|
| Abort() |
Faz com que um objeto de comunicação transite imediatamente do seu estado atual para o estado de fecho. (Herdado de CommunicationObject) |
| AddBaseAddress(Uri) |
Adiciona um endereço base ao host do serviço. (Herdado de ServiceHostBase) |
| AddDefaultEndpoints() |
Adiciona endpoints de serviço para todos os endereços base em cada contrato encontrados no host de serviço com a ligação predefinida. (Herdado de ServiceHostBase) |
| AddServiceEndpoint(ServiceEndpoint) |
Adiciona o endpoint de serviço especificado ao serviço alojado. (Herdado de ServiceHostBase) |
| AddServiceEndpoint(String, Binding, String, Uri) |
Adiciona um endpoint de serviço ao serviço hospedado com um contrato especificado, vinculação, endereço de endpoint e URI que contém o endereço onde ouve. (Herdado de ServiceHostBase) |
| AddServiceEndpoint(String, Binding, String) |
Adiciona um endpoint de serviço ao serviço alojado com um contrato, binding e endereço de endpoint especificados. (Herdado de ServiceHostBase) |
| AddServiceEndpoint(String, Binding, Uri, Uri) |
Adiciona um endpoint de serviço ao serviço hospedado com o contrato especificado, binding e URIs que contêm os endereços endpoint e de escuta. (Herdado de ServiceHostBase) |
| AddServiceEndpoint(String, Binding, Uri) |
Adiciona um endpoint de serviço ao serviço hospedado com um contrato especificado, binding e um URI que contém o endereço do endpoint. (Herdado de ServiceHostBase) |
| AddServiceEndpoint(Type, Binding, String, Uri) |
Adiciona um endpoint de serviço ao serviço alojado com um contrato especificado, vinculação, um endereço de endpoint e um URI onde o serviço escuta. |
| AddServiceEndpoint(Type, Binding, String) |
Adiciona um endpoint de serviço ao serviço alojado com um contrato, binding e endereço de endpoint especificados. |
| AddServiceEndpoint(Type, Binding, Uri, Uri) |
Adiciona um endpoint de serviço ao serviço hospedado com um contrato especificado, vinculação, um URI que contém o endereço do endpoint e um URI onde o serviço escuta. |
| AddServiceEndpoint(Type, Binding, Uri) |
Adiciona um endpoint de serviço ao serviço hospedado com um contrato, binding e URI especificados que contêm o endereço do endpoint. |
| ApplyConfiguration() |
Carrega a descrição do serviço a partir do ficheiro de configuração e aplica-a ao tempo de execução que está a ser construído. |
| ApplyConfiguration() |
Carrega a informação de descrição do serviço a partir do ficheiro de configuração e aplica-a ao tempo de execução que está a ser construído. (Herdado de ServiceHostBase) |
| BeginClose(AsyncCallback, Object) |
Inicia uma operação assíncrona para fechar um objeto de comunicação. (Herdado de CommunicationObject) |
| BeginClose(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona para fechar um objeto de comunicação com um timeout especificado. (Herdado de CommunicationObject) |
| BeginOpen(AsyncCallback, Object) |
Inicia uma operação assíncrona para abrir um objeto de comunicação. (Herdado de CommunicationObject) |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona para abrir um objeto de comunicação dentro de um intervalo de tempo especificado. (Herdado de CommunicationObject) |
| Close() |
Faz com que um objeto de comunicação faça a transição do seu estado atual para o estado fechado. (Herdado de CommunicationObject) |
| Close(TimeSpan) |
Faz com que um objeto de comunicação transite do seu estado atual para o estado fechado dentro de um intervalo de tempo especificado. (Herdado de CommunicationObject) |
| CreateDescription(IDictionary<String,ContractDescription>) |
Cria uma descrição do serviço alojado. |
| EndClose(IAsyncResult) |
Completa uma operação assíncrona para fechar um objeto de comunicação. (Herdado de CommunicationObject) |
| EndOpen(IAsyncResult) |
Completa uma operação assíncrona para abrir um objeto de comunicação. (Herdado de CommunicationObject) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Fault() |
Faz com que um objeto de comunicação faça a transição do seu estado atual para o estado defeituoso. (Herdado de CommunicationObject) |
| GetCommunicationObjectType() |
Obtém o tipo de objeto de comunicação. (Herdado de CommunicationObject) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IncrementManualFlowControlLimit(Int32) |
Aumenta o limite da taxa de fluxo das mensagens para o serviço alojado num incremento especificado. (Herdado de ServiceHostBase) |
| InitializeDescription(Object, UriSchemeKeyedCollection) |
Inicializa uma descrição do serviço hospedado com base na sua instância e nos endereços base especificados. |
| InitializeDescription(Type, UriSchemeKeyedCollection) |
Inicializa uma descrição do serviço alojado com base no seu tipo e nos endereços base especificados. |
| InitializeDescription(UriSchemeKeyedCollection) |
Cria e inicializa o host de serviço com o contrato e as descrições do serviço. (Herdado de ServiceHostBase) |
| InitializeRuntime() |
Inicializa o tempo de execução do host de serviço. (Herdado de ServiceHostBase) |
| LoadConfigurationSection(ServiceElement) |
Carrega o elemento de serviço a partir do ficheiro de configuração do serviço alojado. (Herdado de ServiceHostBase) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnAbort() |
Aborta o serviço. (Herdado de ServiceHostBase) |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona invocada no encerramento do host de serviço. (Herdado de ServiceHostBase) |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona invocada na abertura do host de serviço. (Herdado de ServiceHostBase) |
| OnClose(TimeSpan) |
Fecha o serviço alojado, incluindo os seus despachantes de canal e os contextos de instância e ouvintes associados. (Herdado de ServiceHostBase) |
| OnClosed() |
Elimina os serviços descartáveis que estão alojados quando o anfitrião do serviço está fechado. |
| OnClosing() |
Invocado durante a transição de um objeto de comunicação para o estado de fecho. (Herdado de CommunicationObject) |
| OnEndClose(IAsyncResult) |
Conclui uma operação assíncrona invocada no encerramento do host de serviço. (Herdado de ServiceHostBase) |
| OnEndOpen(IAsyncResult) |
Conclui uma operação assíncrona invocada na abertura do host de serviço. (Herdado de ServiceHostBase) |
| OnFaulted() |
Insere processamento num objeto de comunicação após esta transitar para o estado de falha devido à invocação de uma operação de falha síncrona. (Herdado de CommunicationObject) |
| OnOpen(TimeSpan) |
Abre os despachantes do canal. (Herdado de ServiceHostBase) |
| OnOpened() |
Obtém as credenciais do serviço, autenticação e comportamento de autorização do serviço alojado. (Herdado de ServiceHostBase) |
| OnOpening() |
Invocado durante a transição de um objeto de comunicação para o estado de abertura. (Herdado de CommunicationObject) |
| Open() |
Faz com que um objeto de comunicação faça a transição do estado criado para o estado aberto. (Herdado de CommunicationObject) |
| Open(TimeSpan) |
Faz com que um objeto de comunicação faça a transição do estado criado para o estado aberto dentro de um intervalo de tempo especificado. (Herdado de CommunicationObject) |
| ReleasePerformanceCounters() |
Liberta os contadores de desempenho do serviço e do despachante de canal para o serviço alojado. (Herdado de ServiceHostBase) |
| SetEndpointAddress(ServiceEndpoint, String) |
Define o endereço de endpoint do endpoint especificado para o endereço especificado. (Herdado de ServiceHostBase) |
| ThrowIfDisposed() |
Lança uma exceção se o objeto de comunicação for eliminado. (Herdado de CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
Lança uma exceção se a propriedade do objeto State de comunicação não estiver definida para o Created estado. (Herdado de CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
Lança uma exceção se o objeto de comunicação não estiver nesse Opened estado. (Herdado de CommunicationObject) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
evento
| Name | Description |
|---|---|
| Closed |
Ocorre quando um objeto de comunicação transita para o estado fechado. (Herdado de CommunicationObject) |
| Closing |
Ocorre quando um objeto de comunicação transita para o estado de fecho. (Herdado de CommunicationObject) |
| Faulted |
Ocorre quando um objeto de comunicação transita para o estado falhado. (Herdado de CommunicationObject) |
| Opened |
Ocorre quando um objeto de comunicação transita para o estado aberto. (Herdado de CommunicationObject) |
| Opening |
Ocorre quando um objeto de comunicação transita para o estado de abertura. (Herdado de CommunicationObject) |
| UnknownMessageReceived |
Ocorre quando uma mensagem desconhecida é recebida. (Herdado de ServiceHostBase) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Fecha o anfitrião de serviço. (Herdado de ServiceHostBase) |