ChannelBase Classe

Definição

Fornece a implementação base para canais personalizados.Provides the base implementation for custom channels.

public ref class ChannelBase abstract : System::ServiceModel::Channels::CommunicationObject, System::ServiceModel::Channels::IChannel, System::ServiceModel::IDefaultCommunicationTimeouts
public abstract class ChannelBase : System.ServiceModel.Channels.CommunicationObject, System.ServiceModel.Channels.IChannel, System.ServiceModel.IDefaultCommunicationTimeouts
type ChannelBase = class
    inherit CommunicationObject
    interface ICommunicationObject
    interface IChannel
    interface IDefaultCommunicationTimeouts
Public MustInherit Class ChannelBase
Inherits CommunicationObject
Implements IChannel, IDefaultCommunicationTimeouts
Herança
Implementações

Comentários

Importante

Chamar métodos desta classe quando você tiver dados não confiáveis é um risco à segurança.Calling methods from this class with untrusted data is a security risk. Chame os métodos dessa classe somente quando você tiver dados confiáveis.Call the methods from this class only with trusted data. Para obter mais informações, confira Validação de dados.For more information, see Data Validation.

A classe ChannelBase fornece uma implementação de classe base abstrata da interface IChannel.The ChannelBase class provides an abstract base class implementation of the IChannel interface. Ele também requer que cada canal seja associado a um Gerenciador de canal.It also requires that each channel be associated with a channel manager. Observe que o único Construtor disponível para a criação de instâncias do ChannelBase requer um parâmetro de entrada channelManager.Note that the only constructor available for creating instances of ChannelBase requires a channelManager input parameter.

As alterações de estado são gerenciadas pela herança da implementação de CommunicationObject do computador de estado.State changes are managed by inheriting from the CommunicationObject implementation of the state machine.

O ChannelBase obtém seus tempos limite de comunicação padrão para as operações abrir, fechar, enviar e receber do ChannelManagerBase associado a ela.The ChannelBase gets its default communication timeouts for the open, close, send and receive operations from the ChannelManagerBase associated with it.

O ChannelBase também gerencia o gerente para você.The ChannelBase also manages the manager for you. Além de expor uma referência ao Gerenciador, a classe base também notifica o Gerenciador quando os canais são criados e destruídos.In addition to exposing a reference to the manager, the base class also notifies the manager when channels are created and destroyed. Mas a referência ao Gerenciador é apenas boa até que o canal seja destruído.But the reference to the manager is only good until the channel is destroyed.

Mesmo que você use a classe base, você ainda deve fornecer comportamentos para abrir e fechar o canal.Even if you do use the base class, you must still provide behaviors for opening and closing the channel. As implementações padrão desses métodos não fornecem informações úteis.The default implementations of these methods do not provide useful information.

Você também deve ter certeza de substituir GetProperty sempre que implementar um canal.You must also make sure to override GetProperty whenever you implement a channel. GetProperty é uma maneira excelente de comunicar informações ao longo da pilha de canais sem ter que saber quais canais estão abaixo de você, ou quais canais acima você pode executar consultas.GetProperty is an excellent way to communicate information along the channel stack without having to know what channels are below you, or what channels above you may perform queries. Defina as interfaces que podem ser consultadas quanto às informações disponíveis.Define interfaces that can be queried for available information. Sempre que você não reconhecer o argumento de tipo para GetProperty, delegue-o para o próximo canal na pilha ou retorne null se você estiver criando um novo canal de transporte na parte inferior da pilha.Whenever you do not recognize the type argument for GetProperty, delegate down to the next channel in the stack or return null if you are creating a new transport channel at the bottom of the stack.

Construtores

ChannelBase(ChannelManagerBase)

Inicializa uma nova instância da classe ChannelBase.Initializes a new instance of the ChannelBase class.

Propriedades

DefaultCloseTimeout

Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação close.Gets the default interval of time provided for a close operation to complete.

DefaultOpenTimeout

Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação open.Gets the default interval of time provided for an open operation to complete.

DefaultReceiveTimeout

Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação receive.Gets the default interval of time provided for a receive operation to complete.

DefaultSendTimeout

Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação send.Gets the default interval of time provided for a send operation to complete.

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)
Manager

Obtém o gerenciador de canal que está associado com o canal atual.Gets the channel manager that is associated with the current channel.

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)
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)
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)
GetProperty<T>()

Retorna o objeto tipado solicitado, se presente, da camada apropriada na pilha de canais.Returns the typed object requested, if present, from the appropriate layer in the channel stack.

GetType()

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

(Herdado de Object)
MemberwiseClone()

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

(Herdado de Object)
OnAbort()

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 abort síncrona.Inserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous abort operation.

(Herdado de CommunicationObject)
OnBeginClose(TimeSpan, AsyncCallback, Object)

Insere o processamento após um objeto de comunicação fazer a transição para o estado de fechamento devido à invocação de uma operação close assíncrona.Inserts processing after a communication object transitions to the closing state due to the invocation of an asynchronous close operation.

(Herdado de CommunicationObject)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

Insere o processamento em um objeto de comunicação depois que ela fez a transição para o estado de abertura devido à invocação de uma operação open assíncrona.Inserts processing on a communication object after it transitions to the opening state due to the invocation of an asynchronous open operation.

(Herdado de CommunicationObject)
OnClose(TimeSpan)

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 close síncrona.Inserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous close operation.

(Herdado de CommunicationObject)
OnClosed()

Usa o rastreamento de diagnóstico durante a transição para o estado de fechamento.Uses diagnostic tracing during the transition into the closing state.

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 no fechamento de um objeto de comunicação.Completes an asynchronous operation on the close of a communication object.

(Herdado de CommunicationObject)
OnEndOpen(IAsyncResult)

Conclui uma operação assíncrona na abertura de um objeto de comunicação.Completes an asynchronous operation on the open of a communication object.

(Herdado de CommunicationObject)
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)

Insere o processamento em um objeto de comunicação depois da transição dele para o estado de abertura que deve ser concluído dentro de um intervalo de tempo especificado.Inserts processing on a communication object after it transitions into the opening state which must complete within a specified interval of time.

(Herdado de CommunicationObject)
OnOpened()

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

(Herdado de CommunicationObject)
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)
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)

Implantações explícitas de interface

IDefaultCommunicationTimeouts.CloseTimeout

Obtém o intervalo de tempo após o qual o tempo limite do método close, invocado por um objeto de comunicação, é atingido.Gets the interval of time after which the close method, invoked by a communication object, times out.

IDefaultCommunicationTimeouts.OpenTimeout

Obtém o intervalo de tempo após o qual o tempo limite do método open, invocado por um objeto de comunicação, é atingido.Gets the interval of time after which the open method, invoked by a communication object, times out.

IDefaultCommunicationTimeouts.ReceiveTimeout

Obtém o intervalo de tempo após o qual o tempo limite do método receive, invocado por um objeto de comunicação, é atingido.Gets the interval of time after which the receive method, invoked by a communication object, times out.

IDefaultCommunicationTimeouts.SendTimeout

Obtém o intervalo de tempo após o qual o tempo limite do método send, invocado por um objeto de comunicação, é atingido.Gets the interval of time after which the send method, invoked by a communication object, times out.

Aplica-se a