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. |