ChannelBase Classe

Definição

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 dessa classe com dados não confiáveis é um risco à segurança. Chame os métodos dessa classe apenas com 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 requer que cada canal seja associado a um gerenciador de canais. Observe que o único construtor disponível para criar instâncias de requer um ChannelBase parâmetro de channelManager entrada.

As alterações de estado são gerenciadas herdando da CommunicationObject implementação do computador de estado.

Obtém ChannelBase seus tempos limite de comunicação padrão para as operações abrir, fechar, enviar e receber do ChannelManagerBase associado a 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 se você usar 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, delegar para baixo para o próximo canal na pilha ou retornar null se você estiver criando um novo canal de transporte na parte inferior da pilha.

Construtores

Nome Description
ChannelBase(ChannelManagerBase)

Inicializa uma nova instância da classe ChannelBase.

Propriedades

Nome Description
DefaultCloseTimeout

Obtém o intervalo de tempo padrão fornecido para que uma operação de fechamento seja concluída.

DefaultOpenTimeout

Obtém o intervalo de tempo padrão fornecido para uma operação aberta ser concluída.

DefaultReceiveTimeout

Obtém o intervalo de tempo padrão fornecido para que uma operação de recebimento seja concluída.

DefaultSendTimeout

Obtém o intervalo de tempo padrão fornecido para que uma operação de envio seja concluída.

IsDisposed

Obtém um valor que indica se o objeto de comunicação foi descartado.

(Herdado de CommunicationObject)
Manager

Obtém o gerenciador de canais associado ao 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 de classe durante uma transição de estado.

(Herdado de CommunicationObject)

Métodos

Nome Description
Abort()

Faz com que um objeto de comunicação faça a transição imediatamente de seu 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 de seu estado atual para o estado fechado.

(Herdado de CommunicationObject)
Close(TimeSpan)

Faz com que um objeto de comunicação faça a transição de seu 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 de seu 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 digitado solicitado, se presente, da camada apropriada na pilha do canal.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
OnAbort()

Insere o processamento em um objeto de comunicação depois que ele faz a transição para o estado de fechamento devido à invocação de uma operação de anulação síncrona.

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

Insere o processamento depois que um objeto de comunicação faz a transição para o estado de fechamento devido à invocação de uma operação de fechamento assíncrona.

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

Insere o processamento em um objeto de comunicação depois que ele faz a transição para o estado de abertura devido à invocação de uma operação aberta assíncrona.

(Herdado de CommunicationObject)
OnClose(TimeSpan)

Insere o processamento em um objeto de comunicação depois que ele faz a transição para o estado de fechamento devido à invocação de uma operação de fechamento síncrona.

(Herdado de CommunicationObject)
OnClosed()

Usa o rastreamento de diagnóstico durante a transição para o estado de fechamento.

OnClosing()

Invocado 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 ele faz a transição para o estado com falha devido à invocação de uma operação de falha síncrona.

(Herdado de CommunicationObject)
OnOpen(TimeSpan)

Insere o processamento em um objeto de comunicação depois que ele faz a transição para o estado de abertura que deve ser concluído dentro de um intervalo de tempo especificado.

(Herdado de CommunicationObject)
OnOpened()

Invocado durante a transição de um objeto de comunicação para o estado aberto.

(Herdado de CommunicationObject)
OnOpening()

Invocado durante a transição de um objeto de comunicação para o 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 dentro de um intervalo de tempo especificado.

(Herdado de CommunicationObject)
ThrowIfDisposed()

Gerará uma exceção se o objeto de comunicação for descartado.

(Herdado de CommunicationObject)
ThrowIfDisposedOrImmutable()

Gerará uma exceção se o objeto de comunicação a State propriedade não estiver definida como o Created estado.

(Herdado de CommunicationObject)
ThrowIfDisposedOrNotOpen()

Gera uma exceção se o objeto de comunicação não estiver no Opened estado.

(Herdado de CommunicationObject)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Eventos

Nome Description
Closed

Ocorre quando um objeto de comunicação faz a transição para o estado fechado.

(Herdado de CommunicationObject)
Closing

Ocorre quando um objeto de comunicação faz a transição para o estado de fechamento.

(Herdado de CommunicationObject)
Faulted

Ocorre quando um objeto de comunicação faz a transição para o estado com 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

Nome Description
IDefaultCommunicationTimeouts.CloseTimeout

Obtém o intervalo de tempo após o qual o método close, invocado por um objeto de comunicação, atinge o tempo limite.

IDefaultCommunicationTimeouts.OpenTimeout

Obtém o intervalo de tempo após o qual o método aberto, invocado por um objeto de comunicação, atinge o tempo limite.

IDefaultCommunicationTimeouts.ReceiveTimeout

Obtém o intervalo de tempo após o qual o método de recebimento, invocado por um objeto de comunicação, atinge o tempo limite.

IDefaultCommunicationTimeouts.SendTimeout

Obtém o intervalo de tempo após o qual o método de envio, invocado por um objeto de comunicação, atinge o tempo limite.

Aplica-se a