ChannelBase 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.
Fornece a implementação base para canais personalizados.
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 IChannel
interface ICommunicationObject
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. Chame os métodos dessa classe somente quando você tiver dados confiáveis. Para obter mais informações, consulte Validar todas as entradas.
A ChannelBase classe fornece uma implementação de classe base abstrata da IChannel interface . Também exige que cada canal seja associado a um gerenciador de canais. Observe que o único construtor disponível para criar instâncias do ChannelBase requer um channelManager
parâmetro de entrada.
As alterações de estado são gerenciadas herdando da CommunicationObject implementação da máquina de estado.
O ChannelBase obtém seus tempos limite de comunicação padrão para as operações abrir, fechar, enviar e receber do associado a ChannelManagerBase ele.
O ChannelBase também gerencia o gerente para você. Além de expor uma referência ao gerente, a classe base também notifica o gerente quando os canais são criados e destruídos. Mas a referência ao gerente só é boa até que o canal seja destruído.
Mesmo que você use a classe base, ainda deverá fornecer comportamentos para abrir e fechar o canal. As implementações padrão desses métodos não fornecem informações úteis.
Você também deve substituir GetProperty sempre que implementar um canal.
GetProperty é uma excelente maneira de comunicar informações ao longo da pilha de canais sem precisar saber quais canais estão abaixo de você ou quais canais acima você pode executar consultas. Defina interfaces que podem ser consultadas para obter informações disponíveis. Sempre que você não reconhecer o argumento de tipo para GetProperty, delegue para baixo até o próximo canal na pilha ou retorne null
se estiver criando um novo canal de transporte na parte inferior da pilha.
Construtores
ChannelBase(ChannelManagerBase) |
Inicializa uma nova instância da classe ChannelBase. |
Propriedades
DefaultCloseTimeout |
Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação close. |
DefaultOpenTimeout |
Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação open. |
DefaultReceiveTimeout |
Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação receive. |
DefaultSendTimeout |
Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação send. |
IsDisposed |
Obtém um valor que indica se o objeto de comunicação foi descartado. (Herdado de CommunicationObject) |
Manager |
Obtém o gerenciador de canal que está associado com o canal atual. |
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) |
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) |
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) |
GetProperty<T>() |
Retorna o objeto tipado solicitado, se presente, da camada apropriada na pilha de canais. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (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. (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. (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. (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. (Herdado de CommunicationObject) |
OnClosed() |
Usa o rastreamento de diagnóstico durante a transição para o estado de fechamento. |
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 no fechamento de um objeto de comunicação. (Herdado de CommunicationObject) |
OnEndOpen(IAsyncResult) |
Conclui uma operação assíncrona na abertura de um objeto de comunicação. (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. (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. (Herdado de CommunicationObject) |
OnOpened() |
Chamada durante a transição de um objeto de comunicação no estado aberto. (Herdado de CommunicationObject) |
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) |
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) |
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. |
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. |
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. |
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. |