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 classe ServiceHostBase para implementar os hosts que expõem os 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 WCF (Windows Communication Foundation) usa a ServiceHost classe .
Observação especial para usuários C++ gerenciados derivados desta classe:
Coloque o código de limpeza em (On)(Begin)Close (e/ou OnAbort), não em um destruidor.
Evite destruidores; eles fazem com que o compilador gere IDisposableautomaticamente .
Evitar membros não referenciados; eles podem fazer com que o compilador gere IDisposableautomaticamente .
Evitar finalizadores; mas se você incluir um, deverá suprimir o aviso de build e chamar SuppressFinalize(Object) e o finalizador em si de (On)(Begin)Close (e/ou OnAbort) para emular o que teria sido o comportamento gerado automaticamente IDisposable .
Construtores
| ServiceHostBase() |
Inicializa uma nova instância da classe ServiceHostBase. |
Propriedades
| Authentication |
Obtém o comportamento de autenticação do serviço. |
| Authorization |
Obtém o comportamento de autorização para o serviço hospedado. |
| BaseAddresses |
Obtém os endereços básicos 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 para o serviço hospedado. |
| DefaultCloseTimeout |
Obtém o intervalo de tempo padrão permitido para o fechamento do host de serviço. |
| DefaultOpenTimeout |
Obtém o intervalo de tempo padrão permitido para a abertura do host de serviço. |
| Description |
Obtém a descrição do serviço hospedado. |
| Extensions |
Obtém as extensões para o host de serviço atual especificado. |
| 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 um 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 da classe durante uma transição de estado. (Herdado de CommunicationObject) |
Métodos
| Abort() |
Faz com que um objeto de comunicação faça a transição imediata do estado atual para o estado de fechamento. (Herdado de CommunicationObject) |
| AddBaseAddress(Uri) |
Adiciona um endereço básico 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 para o serviço hospedado. |
| AddServiceEndpoint(String, Binding, String) |
Adiciona um ponto de extremidade de serviço ao serviço hospedado com um contrato, uma associação e um endereço do ponto de extremidade especificados. |
| AddServiceEndpoint(String, Binding, String, Uri) |
Adiciona um ponto de extremidade de serviço ao serviço hospedado com um contrato especificado, associação, endereço do ponto de extremidade e URI que contém o endereço no qual ele escuta. |
| AddServiceEndpoint(String, Binding, Uri) |
Adiciona um ponto de extremidade de serviço ao serviço hospedado com um contrato, uma associação e um URI especificados que contêm o endereço do ponto de extremidade. |
| 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 os endereços do ponto de extremidade e de escuta. |
| ApplyConfiguration() |
Carrega as informações de descrição de 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 do estado atual para o estado fechado. (Herdado de CommunicationObject) |
| Close(TimeSpan) |
Faz com que um objeto de comunicação faça a transição do 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 do 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 para o 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 Object atual. (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 ouvintes e contextos de instância associados. |
| OnClosed() |
Libera os recursos usados pelo host de serviço. |
| OnClosed() |
Chamada durante a transição de um objeto de comunicação para o estado de fechamento. (Herdado de CommunicationObject) |
| OnClosing() |
Chamada 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 ela fez a transição para o estado de fechamento devido à invocação de uma operação fault 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() |
Chamada durante a transição de um objeto de comunicação no 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 em um intervalo de tempo especificado. (Herdado de CommunicationObject) |
| ReleasePerformanceCounters() |
Libera os contadores de desempenho do dispatcher de serviço e canal para o serviço hospedado. |
| SetEndpointAddress(ServiceEndpoint, String) |
Define o endereço do ponto de extremidade especificado como o endereço especificado. |
| ThrowIfDisposed() |
Gera uma exceção se o objeto de comunicação é descartado. (Herdado de CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
Gera uma exceção se o objeto de comunicação da propriedade State não estiver definido para o estado Created. (Herdado de CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
Gera uma exceção se o objeto de comunicação não estiver no estado Opened. (Herdado de CommunicationObject) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Eventos
| Closed |
Ocorre quando um objeto de comunicação entra no estado fechado. (Herdado de CommunicationObject) |
| Closing |
Ocorre quando um objeto de comunicação faz a transição para o estado fechado. (Herdado de CommunicationObject) |
| Faulted |
Ocorre quando um objeto de comunicação entra em um estado de 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
| IDisposable.Dispose() |
Fecha o host de serviço. |