ChannelBase Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona la implementación base para los canales 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
- Herencia
- Derivado
- Implementaciones
Comentarios
Importante
Llamar a métodos de esta clase con datos que no son de confianza supone un riesgo de seguridad. Llame a los métodos de esta clase solo con datos de confianza. Para obtener más información, vea Validar todas las entradas.
La clase ChannelBase proporciona una implementación de clase base abstracta de la interfaz IChannel. También requiere que cada canal esté asociado a un administrador del canal. Tenga en cuenta que el único constructor disponible para crear instancias de ChannelBase requiere un parámetro de entrada channelManager
.
Los cambios del estado se administran heredando de la implementación CommunicationObject de la máquina de estados.
ChannelBase obtiene sus tiempos de espera de la comunicación predeterminados para las operaciones de abrir, cerrar, enviar y recibir de los ChannelManagerBase asociados a él.
ChannelBase también administra al administrador. Además de exponer una referencia al administrador, la clase base también notifica al administradorcuándo se crean y destruyen los canales. Pero la referencia al administrador sólo es buena hasta que se destruye el canal.
Aun cuando utilice la clase base, debe proporcionar los comportamientos para abrir y cerrar el canal. Las implementaciones predeterminadas de estos métodos no proporcionan información útil.
También debe asegurarse de invalidar el método GetProperty cada vez que implemente un canal.
GetProperty es una excelente manera de comunicar información a lo largo de la pila de canales sin tener que saber qué canales están debajo de usted, o qué canales anteriores puede realizar consultas. Defina interfaces que se puedan consultar para obtener la información disponible. Siempre que no reconozca el argumento de tipo para GetProperty, delegue al canal inmediatamente inferior en la pila o devuelva null
si está creando un canal nuevo de transporte en la parte inferior de la pila.
Constructores
ChannelBase(ChannelManagerBase) |
Inicializa una nueva instancia de la clase ChannelBase. |
Propiedades
DefaultCloseTimeout |
Obtiene el intervalo de tiempo predeterminado proporcionado para que se complete una operación de cierre. |
DefaultOpenTimeout |
Obtiene el intervalo de tiempo predeterminado proporcionado para que se complete una operación de apertura. |
DefaultReceiveTimeout |
Obtiene el intervalo de tiempo predeterminado proporcionado para que se complete una operación de recepción. |
DefaultSendTimeout |
Obtiene el intervalo de tiempo predeterminado proporcionado para que se complete una operación de envío. |
IsDisposed |
Obtiene un valor que indica si el objeto de comunicación se ha eliminado. (Heredado de CommunicationObject) |
Manager |
Obtiene el administrador del canal que está asociado al canal actual. |
State |
Obtiene un valor que indica el estado actual del objeto de comunicación. (Heredado de CommunicationObject) |
ThisLock |
Obtiene el bloqueo mutuamente excluyente que protege la instancia de clase durante una transición de estado. (Heredado de CommunicationObject) |
Métodos
Abort() |
Provoca que un objeto de comunicación pase inmediatamente de su estado actual al estado de cierre. (Heredado de CommunicationObject) |
BeginClose(AsyncCallback, Object) |
Comienza una operación asincrónica para cerrar un objeto de comunicación. (Heredado de CommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
Comienza una operación asincrónica para cerrar un objeto de comunicación con un tiempo de espera especificado. (Heredado de CommunicationObject) |
BeginOpen(AsyncCallback, Object) |
Comienza una operación asincrónica para abrir un objeto de comunicación. (Heredado de CommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
Comienza una operación asincrónica para abrir un objeto de comunicación dentro de un intervalo de tiempo especificado. (Heredado de CommunicationObject) |
Close() |
Provoca que un objeto de comunicación pase de su estado actual al estado cerrado. (Heredado de CommunicationObject) |
Close(TimeSpan) |
Provoca que un objeto de comunicación pase su estado actual al estado cerrado dentro de un intervalo de tiempo especificado. (Heredado de CommunicationObject) |
EndClose(IAsyncResult) |
Completa una operación asincrónica para cerrar un objeto de comunicación. (Heredado de CommunicationObject) |
EndOpen(IAsyncResult) |
Completa una operación asincrónica para abrir un objeto de comunicación. (Heredado de CommunicationObject) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
Fault() |
Provoca que un objeto de comunicación pase de su estado actual al estado de error. (Heredado de CommunicationObject) |
GetCommunicationObjectType() |
Obtiene el tipo de objeto de comunicación. (Heredado de CommunicationObject) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetProperty<T>() |
Devuelve el objeto con tipo solicitado del nivel adecuado de la pila de canales, si está presente. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
OnAbort() |
Inserta el procesamiento en un objeto de comunicación después de que éste pase al estado de cierre debido a la invocación de una operación sincrónica de interrupción. (Heredado de CommunicationObject) |
OnBeginClose(TimeSpan, AsyncCallback, Object) |
Inserta el procesamiento después de que un objeto de comunicación pase al estado de cierre debido a la invocación de una operación asincrónica de cierre. (Heredado de CommunicationObject) |
OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Inserta el procesamiento en un objeto de comunicación después de que éste pase al estado de apertura debido a la invocación de una operación asincrónica de apertura. (Heredado de CommunicationObject) |
OnClose(TimeSpan) |
Inserta el procesamiento en un objeto de comunicación después de que éste pase al estado de cierre debido a la invocación de una operación sincrónica de cierre. (Heredado de CommunicationObject) |
OnCloseAsync(TimeSpan) |
Proporciona la implementación base para los canales personalizados. (Heredado de CommunicationObject) |
OnClosed() |
Utiliza traza de diagnóstico durante la transición al estado del cierre. |
OnClosing() |
Se invoca durante la transición de un objeto de comunicación al estado de cierre. (Heredado de CommunicationObject) |
OnEndClose(IAsyncResult) |
Completa una operación asincrónica al cerrar un objeto de comunicación. (Heredado de CommunicationObject) |
OnEndOpen(IAsyncResult) |
Completa una operación asincrónica al abrir un objeto de comunicación. (Heredado de CommunicationObject) |
OnFaulted() |
Inserta el procesamiento en un objeto de comunicación después de que éste pase al estado de error debido a la invocación de una operación sincrónica de error. (Heredado de CommunicationObject) |
OnOpen(TimeSpan) |
Inserta el procesamiento en un objeto de comunicación después que éste pase al estado de apertura que debe completarse dentro de un intervalo de tiempo especificado. (Heredado de CommunicationObject) |
OnOpenAsync(TimeSpan) |
Proporciona la implementación base para los canales personalizados. (Heredado de CommunicationObject) |
OnOpened() |
Se invoca durante la transición de un objeto de comunicación al estado de abierto. (Heredado de CommunicationObject) |
OnOpening() |
Se invoca durante la transición de un objeto de comunicación al estado de abriendo. (Heredado de CommunicationObject) |
Open() |
Hace que un objeto de comunicación pase del estado creado al estado abierto. (Heredado de CommunicationObject) |
Open(TimeSpan) |
Hace que un objeto de comunicación pase del estado creado al estado abierto dentro de un intervalo de tiempo especificado. (Heredado de CommunicationObject) |
ThrowIfDisposed() |
Produce una excepción si se elimina el objeto de comunicación. (Heredado de CommunicationObject) |
ThrowIfDisposedOrImmutable() |
Produce una excepción si en el objeto de comunicación la propiedad State no está establecida en el estado Created. (Heredado de CommunicationObject) |
ThrowIfDisposedOrNotOpen() |
Produce una excepción si el objeto de comunicación no está en el estado Opened. (Heredado de CommunicationObject) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Eventos
Closed |
Se produce cuando un objeto de comunicación realiza una transición al estado de cerrado. (Heredado de CommunicationObject) |
Closing |
Se produce cuando un objeto de comunicación realiza una transición al estado de cerrando. (Heredado de CommunicationObject) |
Faulted |
Se produce cuando un objeto de comunicación realiza una transición al estado de error. (Heredado de CommunicationObject) |
Opened |
Se produce cuando un objeto de comunicación realiza una transición al estado de abierto. (Heredado de CommunicationObject) |
Opening |
Se produce cuando un objeto de comunicación realiza una transición al estado de abriendo. (Heredado de CommunicationObject) |
Implementaciones de interfaz explícitas
IAsyncCommunicationObject.CloseAsync(TimeSpan) |
Proporciona la implementación base para los canales personalizados. (Heredado de CommunicationObject) |
IAsyncCommunicationObject.OpenAsync(TimeSpan) |
Proporciona la implementación base para los canales personalizados. (Heredado de CommunicationObject) |
IDefaultCommunicationTimeouts.CloseTimeout |
Obtiene el intervalo de tiempo después del cual el método de cierre, invocado por un objeto de comunicación, caduca. |
IDefaultCommunicationTimeouts.OpenTimeout |
Obtiene el intervalo de tiempo después del cual el método de apertura, invocado por un objeto de comunicación, caduca. |
IDefaultCommunicationTimeouts.ReceiveTimeout |
Obtiene el intervalo de tiempo después del cual el método de recepción, invocado por un objeto de comunicación, caduca. |
IDefaultCommunicationTimeouts.SendTimeout |
Obtiene el intervalo de tiempo después del cual el método de envío, invocado por un objeto de comunicación, caduca. |
Métodos de extensión
CloseHelperAsync(ICommunicationObject, TimeSpan) |
Proporciona la implementación base para los canales personalizados. |
OpenHelperAsync(ICommunicationObject, TimeSpan) |
Proporciona la implementación base para los canales personalizados. |
GetInternalCloseTimeout(CommunicationObject) |
Proporciona la implementación base para los canales personalizados. |