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 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
- Implementaciones
Comentarios
Importante
Llamar a métodos de esta clase con datos que no son de confianza es 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 ChannelBase clase proporciona una implementación de clase base abstracta de la IChannel interfaz. También requiere que cada canal esté asociado a un administrador de canales. Tenga en cuenta que el único constructor disponible para crear instancias de ChannelBase requiere un channelManager parámetro de entrada.
Los cambios de estado se administran heredando de la CommunicationObject implementación de la máquina de estado.
ChannelBase obtiene sus tiempos de espera de comunicación predeterminados para las operaciones de apertura, cierre, envío y recepción del ChannelManagerBase asociado.
ChannelBase también administra el administrador por usted. Además de exponer una referencia al administrador, la clase base también notifica al administrador cuando se crean y destruyen canales. Pero la referencia al administrador solo es buena hasta que se destruye el canal.
Incluso si usa la clase base, debe proporcionar 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 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 pueden consultar para obtener información disponible. Siempre que no reconozca el argumento de tipo para GetProperty, delegue al siguiente canal de la pila o devuelva null si va a crear un nuevo canal de transporte en la parte inferior de la pila.
Constructores
| Nombre | Description |
|---|---|
| ChannelBase(ChannelManagerBase) |
Inicializa una nueva instancia de la clase ChannelBase. |
Propiedades
| Nombre | Description |
|---|---|
| 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 abierta. |
| 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 se ha eliminado el objeto de comunicación. (Heredado de CommunicationObject) |
| Manager |
Obtiene el administrador de canales 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
| Nombre | Description |
|---|---|
| Abort() |
Hace 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() |
Hace que un objeto de comunicación pase de su estado actual al estado cerrado. (Heredado de CommunicationObject) |
| Close(TimeSpan) |
Hace que un objeto de comunicación pase de 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 al objeto actual. (Heredado de Object) |
| Fault() |
Hace que un objeto de comunicación pase de su estado actual al estado defectuoso. (Heredado de CommunicationObject) |
| GetCommunicationObjectType() |
Obtiene el tipo de objeto de comunicación. (Heredado de CommunicationObject) |
| GetHashCode() |
Actúa como la función hash predeterminada. (Heredado de Object) |
| GetProperty<T>() |
Devuelve el objeto con tipo solicitado, si está presente, de la capa adecuada en la pila del canal. |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| OnAbort() |
Inserta el procesamiento en un objeto de comunicación después de realizar la transición al estado de cierre debido a la invocación de una operación de anulación sincrónica. (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 de cierre asincrónica. (Heredado de CommunicationObject) |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Inserta el procesamiento en un objeto de comunicación después de realizar la transición al estado de apertura debido a la invocación de una operación de apertura asincrónica. (Heredado de CommunicationObject) |
| OnClose(TimeSpan) |
Inserta el procesamiento en un objeto de comunicación después de realizar la transición al estado de cierre debido a la invocación de una operación de cierre sincrónica. (Heredado de CommunicationObject) |
| OnClosed() |
Usa el seguimiento de diagnóstico durante la transición al estado de 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 en la apertura de un objeto de comunicación. (Heredado de CommunicationObject) |
| OnFaulted() |
Inserta el procesamiento en un objeto de comunicación después de realizar la transición al estado defectuoso debido a la invocación de una operación de error sincrónica. (Heredado de CommunicationObject) |
| OnOpen(TimeSpan) |
Inserta el procesamiento en un objeto de comunicación después de realizar la transición al estado de apertura que debe completarse dentro de un intervalo de tiempo especificado. (Heredado de CommunicationObject) |
| OnOpened() |
Se invoca durante la transición de un objeto de comunicación al estado abierto. (Heredado de CommunicationObject) |
| OnOpening() |
Se invoca durante la transición de un objeto de comunicación al estado de apertura. (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 el objeto de comunicación que la State propiedad no está establecida en el Created estado . (Heredado de CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
Produce una excepción si el objeto de comunicación no está en el Opened estado . (Heredado de CommunicationObject) |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Eventos
| Nombre | Description |
|---|---|
| Closed |
Se produce cuando un objeto de comunicación pasa al estado cerrado. (Heredado de CommunicationObject) |
| Closing |
Se produce cuando un objeto de comunicación pasa al estado de cierre. (Heredado de CommunicationObject) |
| Faulted |
Se produce cuando un objeto de comunicación pasa al estado defectuoso. (Heredado de CommunicationObject) |
| Opened |
Se produce cuando un objeto de comunicación pasa al estado abierto. (Heredado de CommunicationObject) |
| Opening |
Se produce cuando un objeto de comunicación pasa al estado de apertura. (Heredado de CommunicationObject) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IDefaultCommunicationTimeouts.CloseTimeout |
Obtiene el intervalo de tiempo después del cual el método close, invocado por un objeto de comunicación, agota el tiempo de espera. |
| IDefaultCommunicationTimeouts.OpenTimeout |
Obtiene el intervalo de tiempo después del cual el método abierto, invocado por un objeto de comunicación, agota el tiempo de espera. |
| IDefaultCommunicationTimeouts.ReceiveTimeout |
Obtiene el intervalo de tiempo después del cual el método de recepción, invocado por un objeto de comunicación, agota el tiempo de espera. |
| IDefaultCommunicationTimeouts.SendTimeout |
Obtiene el intervalo de tiempo después del cual el método de envío, invocado por un objeto de comunicación, agota el tiempo de espera. |