ChannelBase Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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. |