ServiceHostBase Classe

Definição

Estende a classe ServiceHostBase para implementar os hosts que expõem os modelos de programação personalizados.Extends the ServiceHostBase class to implement hosts that expose custom programming models.

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
ServiceHostBase
Derivado
Implementações

Exemplos

Este exemplo usa a classe ServiceHost, que é derivada de ServiceHostBase.This sample uses the ServiceHost class, which is derived from 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 classe ServiceHostBase para criar hosts que fornecem um modelo de programação personalizado.Use the ServiceHostBase class to create hosts that provide a custom programming model. O modelo de programação de serviço do Windows Communication Foundation (WCF) usa a classe ServiceHost.The Windows Communication Foundation (WCF) service programming model uses the ServiceHost class.

Nota especial para usuários C++ gerenciados que derivam desta classe:Special note for Managed C++ users deriving from this class:

  • Coloque seu código de limpeza em (ativado) (início) fechar (e/ou OnAbort), não em um destruidor.Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Evitar destruidores; Eles fazem com que o compilador gere IDisposableautomaticamente.Avoid destructors; they cause the compiler to auto-generate IDisposable.

  • Evitar Membros que não são de referência; Eles podem fazer com que o compilador gere IDisposableautomaticamente.Avoid non-reference members; they can cause the compiler to auto-generate IDisposable.

  • Evitar finalizadores; Mas se você incluir um, deverá suprimir o aviso de compilação e chamar SuppressFinalize(Object) e o finalizador em si, de (on) (Begin) Close (e/ou OnAbort) para emular o que teria sido o comportamento de IDisposable gerado automaticamente.Avoid finalizers; but if you include one, you should suppress the build warning and call SuppressFinalize(Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated IDisposable behavior.

Construtores

ServiceHostBase()

Inicia uma nova instância da classe ServiceHostBase.Initializes a new instance of the ServiceHostBase class.

Propriedades

Authentication

Obtém o comportamento de autenticação do serviço.Gets the service authentication behavior.

Authorization

Obtém o comportamento de autorização para o serviço hospedado.Gets the authorization behavior for the service hosted.

BaseAddresses

Obtém os endereços básicos usados pelo serviço hospedado.Gets the base addresses used by the hosted service.

ChannelDispatchers

Obtém a coleção de dispatchers de canal usada pelo host de serviço.Gets the collection of channel dispatchers used by the service host.

CloseTimeout

Obtém ou define o intervalo de tempo permitido para o host de serviço fechar.Gets or sets the interval of time allowed for the service host to close.

Credentials

Obtém a credencial para o serviço hospedado.Gets the credential for the service hosted.

DefaultCloseTimeout

Obtém o intervalo de tempo padrão permitido para o fechamento do host de serviço.Gets the default interval of time allowed for the service host to close.

DefaultOpenTimeout

Obtém o intervalo de tempo padrão permitido para a abertura do host de serviço.Gets the default interval of time allowed for the service host to open.

Description

Obtém a descrição do serviço hospedado.Gets the description of the service hosted.

Extensions

Obtém as extensões para o host de serviço atual especificado.Gets the extensions for the current specified service host.

ImplementedContracts

Recupera os contratos implementados pelo serviço hospedado.Retrieves the contracts implemented by the service hosted.

IsDisposed

Obtém um valor que indica se o objeto de comunicação foi descartado.Gets a value that indicates whether the communication object has been disposed.

(Herdado de CommunicationObject)
ManualFlowControlLimit

Obtém ou define o limite de controle de fluxo para mensagens recebidas pelo serviço hospedado.Gets or sets the flow control limit for messages received by the service hosted.

OpenTimeout

Obtém ou define um intervalo de tempo permitido para o host de serviço abrir.Gets or sets the interval of time allowed for the service host to open.

State

Obtém um valor que indica o estado atual do objeto de comunicação.Gets a value that indicates the current state of the communication object.

(Herdado de CommunicationObject)
ThisLock

Obtém o bloqueio mutuamente exclusivo que protege a instância da classe durante uma transição de estado.Gets the mutually exclusive lock that protects the class instance during a state transition.

(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.Causes a communication object to transition immediately from its current state into the closing state.

(Herdado de CommunicationObject)
AddBaseAddress(Uri)

Adiciona um endereço básico ao host de serviço.Adds a base address to the service host.

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.Adds service endpoints for all base addresses in each contract found in the service host with the default binding.

AddServiceEndpoint(ServiceEndpoint)

Adiciona o ponto de extremidade de serviço especificado para o serviço hospedado.Adds the specified service endpoint to the hosted service.

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.Adds a service endpoint to the hosted service with a specified contract, binding, and endpoint address.

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.Adds a service endpoint to the hosted service with a specified contract, binding, endpoint address and URI that contains the address at which it listens.

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.Adds a service endpoint to the hosted service with a specified contract, binding, and a URI that contains the endpoint address.

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.Adds a service endpoint to the hosted service with the specified contract, binding, and URIs that contain the endpoint and listening addresses.

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.Loads the service description information from the configuration file and applies it to the runtime being constructed.

BeginClose(AsyncCallback, Object)

Inicia uma operação assíncrona para fechar um objeto de comunicação.Begins an asynchronous operation to close a communication object.

(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.Begins an asynchronous operation to close a communication object with a specified timeout.

(Herdado de CommunicationObject)
BeginOpen(AsyncCallback, Object)

Inicia uma operação assíncrona para abrir um objeto de comunicação.Begins an asynchronous operation to open a communication object.

(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.Begins an asynchronous operation to open a communication object within a specified interval of time.

(Herdado de CommunicationObject)
Close()

Faz com que um objeto de comunicação transite do estado atual para o fechado.Causes a communication object to transition from its current state into the closed state.

(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.Causes a communication object to transition from its current state into the closed state within a specified interval of time.

(Herdado de CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>)

Quando implementado em uma classe derivada, cria a descrição do serviço hospedado.When implemented in a derived class, creates the description of the hosted service.

EndClose(IAsyncResult)

Conclui uma operação assíncrona para fechar um objeto de comunicação.Completes an asynchronous operation to close a communication object.

(Herdado de CommunicationObject)
EndOpen(IAsyncResult)

Conclui uma operação assíncrona para abrir um objeto de comunicação.Completes an asynchronous operation to open a communication object.

(Herdado de CommunicationObject)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(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.Causes a communication object to transition from its current state into the faulted state.

(Herdado de CommunicationObject)
GetCommunicationObjectType()

Obtém o tipo de objeto de comunicação.Gets the type of communication object.

(Herdado de CommunicationObject)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
IncrementManualFlowControlLimit(Int32)

Aumenta o limite da taxa de fluxo de mensagens para o serviço hospedado por um incremento especificado.Increases the limit on the flow rate of messages to the hosted service by a specified increment.

InitializeDescription(UriSchemeKeyedCollection)

Cria e inicializa o host de serviço com as descrições de contrato e serviço.Creates and initializes the service host with the contract and service descriptions.

InitializeRuntime()

Inicializa o runtime para o host de serviço.Initializes the runtime for the service host.

LoadConfigurationSection(ServiceElement)

Carrega o elemento de serviço do arquivo de configuração do serviço hospedado.Loads the service element from the configuration file of the hosted service.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
OnAbort()

Anula o serviço.Aborts the service.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Inicia uma operação assíncrona invocada no fechamento do host de serviço.Begins an asynchronous operation invoked on the close of the service host.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Inicia uma operação assíncrona invocada na abertura do host de serviço.Begins an asynchronous operation invoked on the opening of the service host.

OnClose(TimeSpan)

Fecha o serviço hospedado, incluindo seus dispatchers de canal e ouvintes e contextos de instância associados.Closes down the hosted service, including their channel dispatchers and associated instance contexts and listeners.

OnClosed()

Libera os recursos usados pelo host de serviço.Releases resources used by the service host.

OnClosing()

Chamada durante a transição de um objeto de comunicação para o estado de fechamento.Invoked during the transition of a communication object into the closing state.

(Herdado de CommunicationObject)
OnEndClose(IAsyncResult)

Conclui uma operação assíncrona invocada no fechamento do host de serviço.Completes an asynchronous operation invoked on the closing of the service host.

OnEndOpen(IAsyncResult)

Conclui uma operação assíncrona invocada na abertura do host de serviço.Completes an asynchronous operation invoked on the opening of the service host.

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.Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation.

(Herdado de CommunicationObject)
OnOpen(TimeSpan)

Abre os dispatchers de canal.Opens the channel dispatchers.

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.Gets the service credentials,service authentication and authorization behavior for the hosted service.

OnOpening()

Chamada durante a transição de um objeto de comunicação no estado de abertura.Invoked during the transition of a communication object into the opening state.

(Herdado de CommunicationObject)
Open()

Faz com que um objeto de comunicação transite do estado de criação para o aberto.Causes a communication object to transition from the created state into the opened state.

(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.Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(Herdado de CommunicationObject)
ReleasePerformanceCounters()

Libera os contadores de desempenho do dispatcher de serviço e canal para o serviço hospedado.Releases the service and channel dispatcher performance counters for the hosted service.

SetEndpointAddress(ServiceEndpoint, String)

Define o endereço do ponto de extremidade especificado como o endereço especificado.Sets the endpoint address of the specified endpoint to the specified address.

ThrowIfDisposed()

Gera uma exceção se o objeto de comunicação é descartado.Throws an exception if the communication object is disposed.

(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.Throws an exception if the communication object the State property is not set to the Created state.

(Herdado de CommunicationObject)
ThrowIfDisposedOrNotOpen()

Gera uma exceção se o objeto de comunicação não estiver no estado Opened.Throws an exception if the communication object is not in the Opened state.

(Herdado de CommunicationObject)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Eventos

Closed

Ocorre quando um objeto de comunicação entra no estado fechado.Occurs when a communication object transitions into the closed state.

(Herdado de CommunicationObject)
Closing

Ocorre quando um objeto de comunicação faz a transição para o estado fechado.Occurs when a communication object transitions into the closing state.

(Herdado de CommunicationObject)
Faulted

Ocorre quando um objeto de comunicação entra em um estado de falha.Occurs when a communication object transitions into the faulted state.

(Herdado de CommunicationObject)
Opened

Ocorre quando um objeto de comunicação faz a transição para o estado aberto.Occurs when a communication object transitions into the opened state.

(Herdado de CommunicationObject)
Opening

Ocorre quando um objeto de comunicação faz a transição para o estado de abertura.Occurs when a communication object transitions into the opening state.

(Herdado de CommunicationObject)
UnknownMessageReceived

Ocorre quando uma mensagem desconhecida é recebida.Occurs when an unknown message is received.

Implantações explícitas de interface

IDisposable.Dispose()

Fecha o host de serviço.Closes the service host.

Aplica-se a