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

Observações

Importante

Chamar métodos dessa classe com dados não confiáveis é um risco de segurança. Chame os métodos dessa classe somente com dados confiáveis. Para obter mais informações, consulte Validar todas as informações inseridas.

A ChannelBase classe fornece uma implementação abstrata da classe base da IChannel interface. Também requer que cada canal esteja associado a um gestor de canais. Note que o único construtor disponível para criar instâncias de ChannelBase requer um channelManager parâmetro de entrada.

As alterações de estado são geridas herdando da CommunicationObject implementação da máquina de estados.

Obtém ChannelBase os seus tempos de comunicação padrão para as operações de abertura, encerramento, envio e receção do ChannelManagerBase associado a ele.

Também ChannelBase gere o gerente por si. Para além de expor uma referência ao gestor, a classe base também notifica o gestor quando os canais são criados e destruídos. Mas a referência ao gerente só é válida até o canal ser destruído.

Mesmo que uses a classe base, tens de fornecer comportamentos para abrir e fechar o canal. As implementações padrão destes métodos não fornecem informação útil.

Também tens de garantir que sobreescreves GetProperty sempre que implementas um canal. GetProperty é uma excelente forma de comunicar informação ao longo da pilha de canais sem ter de saber quais os canais abaixo de si, ou quais os canais acima que pode realizar consultas. Defina interfaces que possam ser consultadas para obter informações disponíveis. Sempre que não reconhecer o argumento type para GetProperty, delegue para o próximo canal na pilha ou retorne null se estiver a criar um novo canal de transporte na base da pilha.

Construtores

Name Description
ChannelBase(ChannelManagerBase)

Inicializa uma nova instância da ChannelBase classe.

Propriedades

Name Description
DefaultCloseTimeout

Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação de fechamento.

DefaultOpenTimeout

Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação aberta.

DefaultReceiveTimeout

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

DefaultSendTimeout

Obtém o intervalo de tempo padrão fornecido para a conclusão de uma operação de envio.

IsDisposed

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

(Herdado de CommunicationObject)
Manager

Obtém o gestor de canal 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

Name Description
Abort()

Faz com que um objeto de comunicação transite imediatamente do seu estado atual para o estado de fecho.

(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 timeout 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 seu estado atual para o estado fechado.

(Herdado de CommunicationObject)
Close(TimeSpan)

Faz com que um objeto de comunicação transite do seu estado atual para o estado fechado dentro de um intervalo de tempo especificado.

(Herdado de CommunicationObject)
EndClose(IAsyncResult)

Completa uma operação assíncrona para fechar um objeto de comunicação.

(Herdado de CommunicationObject)
EndOpen(IAsyncResult)

Completa 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 seu estado atual para o estado defeituoso.

(Herdado de CommunicationObject)
GetCommunicationObjectType()

Obtém o tipo de objeto de comunicação.

(Herdado de CommunicationObject)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetProperty<T>()

Devolve 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 atual Object.

(Herdado de Object)
OnAbort()

Insere processamento num objeto de comunicação após esta transitar para o estado de encerramento devido à invocação de uma operação de aborto síncrona.

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

Insere o processamento após a transição de um objeto de comunicação para o estado de fecho devido à invocação de uma operação de fecho assíncrona.

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

Insere processamento num objeto de comunicação após esta transitar para o estado de abertura devido à invocação de uma operação aberta assíncrona.

(Herdado de CommunicationObject)
OnClose(TimeSpan)

Insere processamento num objeto de comunicação após esta transitar para o estado de fecho devido à invocação de uma operação síncrona de fecho.

(Herdado de CommunicationObject)
OnClosed()

Utiliza traço de diagnóstico durante a transição para o estado de fecho.

OnClosing()

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

(Herdado de CommunicationObject)
OnEndClose(IAsyncResult)

Conclui uma operação assíncrona no fecho de um objeto de comunicação.

(Herdado de CommunicationObject)
OnEndOpen(IAsyncResult)

Completa uma operação assíncrona na abertura de um objeto de comunicação.

(Herdado de CommunicationObject)
OnFaulted()

Insere processamento num objeto de comunicação após esta transitar para o estado de falha devido à invocação de uma operação de falha síncrona.

(Herdado de CommunicationObject)
OnOpen(TimeSpan)

Insere o processamento num objeto de comunicação após esta transitar 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()

Lança uma exceção se o objeto de comunicação for eliminado.

(Herdado de CommunicationObject)
ThrowIfDisposedOrImmutable()

Lança uma exceção se a propriedade do objeto State de comunicação não estiver definida para o Created estado.

(Herdado de CommunicationObject)
ThrowIfDisposedOrNotOpen()

Lança uma exceção se o objeto de comunicação não estiver nesse Opened estado.

(Herdado de CommunicationObject)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

evento

Name Description
Closed

Ocorre quando um objeto de comunicação transita para o estado fechado.

(Herdado de CommunicationObject)
Closing

Ocorre quando um objeto de comunicação transita para o estado de fecho.

(Herdado de CommunicationObject)
Faulted

Ocorre quando um objeto de comunicação transita para o estado falhado.

(Herdado de CommunicationObject)
Opened

Ocorre quando um objeto de comunicação transita para o estado aberto.

(Herdado de CommunicationObject)
Opening

Ocorre quando um objeto de comunicação transita para o estado de abertura.

(Herdado de CommunicationObject)

Implementações de Interface Explícita

Name Description
IDefaultCommunicationTimeouts.CloseTimeout

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

IDefaultCommunicationTimeouts.OpenTimeout

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

IDefaultCommunicationTimeouts.ReceiveTimeout

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

IDefaultCommunicationTimeouts.SendTimeout

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

Aplica-se a