ServiceHostBase Classe
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.
Estende a ServiceHostBase classe para implementar hosts que expõem modelos de programação personalizados.
public ref class ServiceHostBase abstract : System::ServiceModel::Channels::CommunicationObject, IDisposable, System::ServiceModel::IExtensibleObject<System::ServiceModel::ServiceHostBase ^>
public abstract class ServiceHostBase : System.ServiceModel.Channels.CommunicationObject, IDisposable, System.ServiceModel.IExtensibleObject<System.ServiceModel.ServiceHostBase>
type ServiceHostBase = class
inherit CommunicationObject
interface IExtensibleObject<ServiceHostBase>
interface IDisposable
Public MustInherit Class ServiceHostBase
Inherits CommunicationObject
Implements IDisposable, IExtensibleObject(Of ServiceHostBase)
- Herança
- Derivado
- Implementações
Exemplos
Este exemplo usa a ServiceHost classe, que é derivada de ServiceHostBase.
// 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
Comentários
Use a ServiceHostBase classe para criar hosts que fornecem um modelo de programação personalizado. O modelo de programação do serviço Windows Communication Foundation (WCF) usa a classe ServiceHost.
Observação especial para usuários C++ gerenciados derivados dessa classe:
- Coloque seu código de limpeza em (Ativado)(Begin)Fechar (e/ou OnAbort), não em um destruidor.
- Evite destruidores; eles fazem com que o compilador gere IDisposableautomaticamente.
- Evite membros não referenciados; eles podem fazer com que o compilador gere IDisposableautomaticamente.
- Evite finalizadores; mas, se você incluir um, deverá suprimir o aviso de build e a chamada SuppressFinalize(Object) e o próprio finalizador de (On)(Begin)Close (e/ou OnAbort) para emular o que teria sido o comportamento gerado automaticamente IDisposable .
Construtores
| Nome | Description |
|---|---|
| ServiceHostBase() |
Inicializa uma nova instância da classe ServiceHostBase. |
Propriedades
| Nome | Description |
|---|---|
| Authentication |
Obtém o comportamento de autenticação de serviço. |
| Authorization |
Obtém o comportamento de autorização para o serviço hospedado. |
| BaseAddresses |
Obtém os endereços base usados pelo serviço hospedado. |
| ChannelDispatchers |
Obtém a coleção de dispatchers de canal usada pelo host de serviço. |
| CloseTimeout |
Obtém ou define o intervalo de tempo permitido para o host de serviço fechar. |
| Credentials |
Obtém a credencial do serviço hospedado. |
| DefaultCloseTimeout |
Obtém o intervalo de tempo padrão permitido para o host de serviço fechar. |
| DefaultOpenTimeout |
Obtém o intervalo de tempo padrão permitido para o host de serviço abrir. |
| Description |
Obtém a descrição do serviço hospedado. |
| Extensions |
Obtém as extensões do host de serviço especificado atual. |
| ImplementedContracts |
Recupera os contratos implementados pelo serviço hospedado. |
| IsDisposed |
Obtém um valor que indica se o objeto de comunicação foi descartado. (Herdado de CommunicationObject) |
| ManualFlowControlLimit |
Obtém ou define o limite de controle de fluxo para mensagens recebidas pelo serviço hospedado. |
| OpenTimeout |
Obtém ou define o intervalo de tempo permitido para o host de serviço abrir. |
| 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
| Nome | Description |
|---|---|
| Abort() |
Faz com que um objeto de comunicação faça a transição imediatamente de seu estado atual para o estado de fechamento. (Herdado de CommunicationObject) |
| AddBaseAddress(Uri) |
Adiciona um endereço base ao host de serviço. |
| AddDefaultEndpoints() |
Adiciona pontos de extremidade de serviço para todos os endereços base em cada contrato encontrado no host de serviço com a associação padrão. |
| AddServiceEndpoint(ServiceEndpoint) |
Adiciona o ponto de extremidade de serviço especificado ao serviço hospedado. |
| AddServiceEndpoint(String, Binding, String, Uri) |
Adiciona um ponto de extremidade de serviço ao serviço hospedado com um contrato, associação, endereço de ponto de extremidade e URI especificados que contém o endereço no qual ele escuta. |
| AddServiceEndpoint(String, Binding, String) |
Adiciona um ponto de extremidade de serviço ao serviço hospedado com um contrato, associação e endereço de ponto de extremidade especificados. |
| AddServiceEndpoint(String, Binding, Uri, Uri) |
Adiciona um ponto de extremidade de serviço ao serviço hospedado com o contrato, a associação e os URIs especificados que contêm o ponto de extremidade e os endereços de escuta. |
| AddServiceEndpoint(String, Binding, Uri) |
Adiciona um ponto de extremidade de serviço ao serviço hospedado com um contrato, associação e um URI especificados que contém o endereço do ponto de extremidade. |
| ApplyConfiguration() |
Carrega as informações de descrição do serviço do arquivo de configuração e aplica-as ao runtime que está sendo construído. |
| 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 tempo limite 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 de seu estado atual para o estado fechado. (Herdado de CommunicationObject) |
| Close(TimeSpan) |
Faz com que um objeto de comunicação faça a transição de seu estado atual para o estado fechado dentro de um intervalo de tempo especificado. (Herdado de CommunicationObject) |
| CreateDescription(IDictionary<String,ContractDescription>) |
Quando implementado em uma classe derivada, cria a descrição do serviço hospedado. |
| EndClose(IAsyncResult) |
Conclui uma operação assíncrona para fechar um objeto de comunicação. (Herdado de CommunicationObject) |
| EndOpen(IAsyncResult) |
Conclui 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 de seu estado atual para o estado com falha. (Herdado de CommunicationObject) |
| GetCommunicationObjectType() |
Obtém o tipo de objeto de comunicação. (Herdado de CommunicationObject) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IncrementManualFlowControlLimit(Int32) |
Aumenta o limite da taxa de fluxo de mensagens para o serviço hospedado por um incremento especificado. |
| InitializeDescription(UriSchemeKeyedCollection) |
Cria e inicializa o host de serviço com as descrições de contrato e serviço. |
| InitializeRuntime() |
Inicializa o runtime do host de serviço. |
| LoadConfigurationSection(ServiceElement) |
Carrega o elemento de serviço do arquivo de configuração do serviço hospedado. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| OnAbort() |
Anula o serviço. |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona invocada no fechamento do host de serviço. |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona invocada na abertura do host de serviço. |
| OnClose(TimeSpan) |
Fecha o serviço hospedado, incluindo seus dispatchers de canal e contextos de instância e ouvintes associados. |
| OnClosed() |
Libera recursos usados pelo host de serviço. |
| OnClosed() |
Invocado durante a transição de um objeto de comunicação para o estado de fechamento. (Herdado de CommunicationObject) |
| OnClosing() |
Invocado durante a transição de um objeto de comunicação para o estado de fechamento. (Herdado de CommunicationObject) |
| OnEndClose(IAsyncResult) |
Conclui uma operação assíncrona invocada no fechamento do host de serviço. |
| OnEndOpen(IAsyncResult) |
Conclui uma operação assíncrona invocada na abertura do host de serviço. |
| OnFaulted() |
Insere o processamento em um objeto de comunicação depois que ele faz a transição para o estado com falha devido à invocação de uma operação de falha síncrona. (Herdado de CommunicationObject) |
| OnOpen(TimeSpan) |
Abre os dispatchers de canal. |
| OnOpened() |
Obtém as credenciais de serviço, a autenticação de serviço e o comportamento de autorização para o serviço hospedado. |
| 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() |
Libera os contadores de desempenho do serviço e do dispatcher de canal para o serviço hospedado. |
| SetEndpointAddress(ServiceEndpoint, String) |
Define o endereço do ponto de extremidade do ponto de extremidade especificado como o endereço especificado. |
| ThrowIfDisposed() |
Gerará uma exceção se o objeto de comunicação for descartado. (Herdado de CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
Gerará uma exceção se o objeto de comunicação a State propriedade não estiver definida como o Created estado. (Herdado de CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
Gera uma exceção se o objeto de comunicação não estiver no Opened estado. (Herdado de CommunicationObject) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Eventos
| Nome | Description |
|---|---|
| Closed |
Ocorre quando um objeto de comunicação faz a transição para o estado fechado. (Herdado de CommunicationObject) |
| Closing |
Ocorre quando um objeto de comunicação faz a transição para o estado de fechamento. (Herdado de CommunicationObject) |
| Faulted |
Ocorre quando um objeto de comunicação faz a transição para o estado com falha. (Herdado de CommunicationObject) |
| Opened |
Ocorre quando um objeto de comunicação faz a transição para o estado aberto. (Herdado de CommunicationObject) |
| Opening |
Ocorre quando um objeto de comunicação faz a transição para o estado de abertura. (Herdado de CommunicationObject) |
| UnknownMessageReceived |
Ocorre quando uma mensagem desconhecida é recebida. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IDisposable.Dispose() |
Fecha o host de serviço. |