ChannelBase Classe

Definizione

Fornisce l'implementazione di base per i canali personalizzati.Provides the base implementation for custom channels.

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
type ChannelBase = class
    inherit CommunicationObject
    interface ICommunicationObject
    interface IChannel
    interface IDefaultCommunicationTimeouts
Public MustInherit Class ChannelBase
Inherits CommunicationObject
Implements IChannel, IDefaultCommunicationTimeouts
Ereditarietà
Implementazioni

Commenti

Importante

La chiamata a metodi da questa classe con dati non attendibili costituisce un rischio per la sicurezza.Calling methods from this class with untrusted data is a security risk. Chiamare i metodi da questa classe solo con dati attendibili.Call the methods from this class only with trusted data. Per altre informazioni, vedere Data Validation (Convalida dei dati).For more information, see Data Validation.

La classe ChannelBase fornisce un'implementazione di classe di base astratta dell'interfaccia IChannel.The ChannelBase class provides an abstract base class implementation of the IChannel interface. Richiede inoltre che ogni canale sia associato a un gestore canali.It also requires that each channel be associated with a channel manager. L'unico costruttore disponibile per la creazione di istanze di ChannelBase richiede un parametro di input channelManager.Note that the only constructor available for creating instances of ChannelBase requires a channelManager input parameter.

Le modifiche dello stato vengono gestite per eredità dall'implementazione CommunicationObject della macchina a stati.State changes are managed by inheriting from the CommunicationObject implementation of the state machine.

La classe ChannelBase ottiene i timeout di comunicazione predefiniti per le operazioni di apertura, chiusura, invio e ricezione dalla classe ChannelManagerBase ad essa associata.The ChannelBase gets its default communication timeouts for the open, close, send and receive operations from the ChannelManagerBase associated with it.

L'oggetto ChannelBase gestisce inoltre il gestore.The ChannelBase also manages the manager for you. Oltre a esporre un riferimento al gestore, la classe di base notifica al gestore la creazione e l'eliminazione definitiva di canali.In addition to exposing a reference to the manager, the base class also notifies the manager when channels are created and destroyed. Il riferimento al gestore, tuttavia, è valido solo fino a quando il canale non viene eliminato.But the reference to the manager is only good until the channel is destroyed.

Anche se si utilizza la classe di base, è comunque necessario fornire i comportamenti per l'apertura e la chiusura del canale.Even if you do use the base class, you must still provide behaviors for opening and closing the channel. Le implementazioni predefinite di questi metodi non forniscono informazioni utili.The default implementations of these methods do not provide useful information.

È necessario inoltre assicurarsi di eseguire l'override del metodo GetProperty ogni volta che si implementa un canale.You must also make sure to override GetProperty whenever you implement a channel. GetProperty è un modo eccellente per comunicare informazioni lungo lo stack dei canali senza dover sapere quali canali si trovano al di sotto dell'utente o quali canali sopra possono eseguire query.GetProperty is an excellent way to communicate information along the channel stack without having to know what channels are below you, or what channels above you may perform queries. Definire interfacce che possano essere interrogate per ottenere informazioni disponibili.Define interfaces that can be queried for available information. Quando non è possibile riconoscere l'argomento tipo per il metodo GetProperty, delegare verso il basso al canale successivo nello stack o restituire null se si sta creando un nuovo canale di trasporto in fondo allo stack.Whenever you do not recognize the type argument for GetProperty, delegate down to the next channel in the stack or return null if you are creating a new transport channel at the bottom of the stack.

Costruttori

ChannelBase(ChannelManagerBase)

Inizializza una nuova istanza della classe ChannelBase.Initializes a new instance of the ChannelBase class.

Proprietà

DefaultCloseTimeout

Ottiene l'intervallo di tempo predefinito fornito per il completamento di un'operazione di chiusura.Gets the default interval of time provided for a close operation to complete.

DefaultOpenTimeout

Ottiene l'intervallo di tempo predefinito fornito per il completamento di un'operazione di apertura.Gets the default interval of time provided for an open operation to complete.

DefaultReceiveTimeout

Ottiene l'intervallo di tempo predefinito fornito per il completamento di un'operazione di ricezione.Gets the default interval of time provided for a receive operation to complete.

DefaultSendTimeout

Ottiene l'intervallo di tempo predefinito fornito per il completamento di un'operazione di invio.Gets the default interval of time provided for a send operation to complete.

IsDisposed

Ottiene un valore che indica se l'oggetto di comunicazione è stato eliminato.Gets a value that indicates whether the communication object has been disposed.

(Ereditato da CommunicationObject)
Manager

Ottiene il gestore canali associato al canale corrente.Gets the channel manager that is associated with the current channel.

State

Ottiene un valore che indica lo stato corrente dell'oggetto di comunicazione.Gets a value that indicates the current state of the communication object.

(Ereditato da CommunicationObject)
ThisLock

Ottiene il blocco a esclusione reciproca che protegge l'istanza della classe durante una transizione di stato.Gets the mutually exclusive lock that protects the class instance during a state transition.

(Ereditato da CommunicationObject)

Metodi

Abort()

Determina la transizione immediata di un oggetto di comunicazione dallo stato corrente allo stato di chiusura.Causes a communication object to transition immediately from its current state into the closing state.

(Ereditato da CommunicationObject)
BeginClose(AsyncCallback, Object)

Consente di iniziare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione.Begins an asynchronous operation to close a communication object.

(Ereditato da CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Consente di iniziare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione entro un determinato intervallo di tempo.Begins an asynchronous operation to close a communication object with a specified timeout.

(Ereditato da CommunicationObject)
BeginOpen(AsyncCallback, Object)

Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione.Begins an asynchronous operation to open a communication object.

(Ereditato da CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Consente di iniziare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione entro un determinato intervallo di tempo.Begins an asynchronous operation to open a communication object within a specified interval of time.

(Ereditato da CommunicationObject)
Close()

Comporta la transizione di un oggetto di comunicazione dallo stato corrente allo stato di chiusura.Causes a communication object to transition from its current state into the closed state.

(Ereditato da CommunicationObject)
Close(TimeSpan)

Determina la transizione di un oggetto di comunicazione dallo stato corrente allo stato Closed entro un intervallo di tempo specificato.Causes a communication object to transition from its current state into the closed state within a specified interval of time.

(Ereditato da CommunicationObject)
EndClose(IAsyncResult)

Consente di completare un'operazione asincrona finalizzata a chiudere un oggetto di comunicazione.Completes an asynchronous operation to close a communication object.

(Ereditato da CommunicationObject)
EndOpen(IAsyncResult)

Consente di completare un'operazione asincrona finalizzata ad aprire un oggetto di comunicazione.Completes an asynchronous operation to open a communication object.

(Ereditato da CommunicationObject)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
Fault()

Determina la transizione di un oggetto di comunicazione dallo stato corrente allo stato Faulted.Causes a communication object to transition from its current state into the faulted state.

(Ereditato da CommunicationObject)
GetCommunicationObjectType()

Ottiene il tipo di oggetto di comunicazione.Gets the type of communication object.

(Ereditato da CommunicationObject)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetProperty<T>()

Restituisce l'oggetto tipizzato richiesto, se disponibile, dal livello appropriato nello stack dei canali.Returns the typed object requested, if present, from the appropriate layer in the channel stack.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
OnAbort()

Inserisce l'elaborazione in un oggetto di comunicazione dopo che è passato allo stato di chiusura a causa della chiamata di un'operazione di interruzione sincrona.Inserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous abort operation.

(Ereditato da CommunicationObject)
OnBeginClose(TimeSpan, AsyncCallback, Object)

Inserisce istruzioni di elaborazione dopo che un oggetto di comunicazione esegue la transizione allo stato Closing in seguito alla chiamata di un'operazione di chiusura asincrona.Inserts processing after a communication object transitions to the closing state due to the invocation of an asynchronous close operation.

(Ereditato da CommunicationObject)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

Inserisce l'elaborazione in un oggetto di comunicazione dopo che l'oggetto ha eseguito la transizione allo stato Opening in seguito alla chiamata di un'operazione di apertura asincrona.Inserts processing on a communication object after it transitions to the opening state due to the invocation of an asynchronous open operation.

(Ereditato da CommunicationObject)
OnClose(TimeSpan)

Inserisce l'elaborazione in un oggetto di comunicazione dopo che l'oggetto ha eseguito la transizione allo stato Closing in seguito alla chiamata di un'operazione di chiusura sincrona.Inserts processing on a communication object after it transitions to the closing state due to the invocation of a synchronous close operation.

(Ereditato da CommunicationObject)
OnClosed()

Utilizza la traccia diagnostica durante la transizione allo stato di prechiusura.Uses diagnostic tracing during the transition into the closing state.

OnClosing()

Viene chiamato durante la transizione di un oggetto di comunicazione allo stato di chiusura.Invoked during the transition of a communication object into the closing state.

(Ereditato da CommunicationObject)
OnEndClose(IAsyncResult)

Consente di completare un'operazione asincrona alla chiusura di un oggetto di comunicazione.Completes an asynchronous operation on the close of a communication object.

(Ereditato da CommunicationObject)
OnEndOpen(IAsyncResult)

Consente di completare un'operazione asincrona all'apertura di un oggetto di comunicazione.Completes an asynchronous operation on the open of a communication object.

(Ereditato da CommunicationObject)
OnFaulted()

Inserisce l'elaborazione in un oggetto di comunicazione dopo che ha eseguito la transizione allo stato Faulted in seguito alla chiamata di un'operazione di errore sincrona.Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation.

(Ereditato da CommunicationObject)
OnOpen(TimeSpan)

Inserisce l'elaborazione in un oggetto di comunicazione dopo che ha eseguito la transizione allo stato di apertura che deve essere completato entro l'intervallo di tempo specificato.Inserts processing on a communication object after it transitions into the opening state which must complete within a specified interval of time.

(Ereditato da CommunicationObject)
OnOpened()

Viene chiamato durante la transizione di un oggetto di comunicazione allo stato Opened.Invoked during the transition of a communication object into the opened state.

(Ereditato da CommunicationObject)
OnOpening()

Viene chiamato durante la transizione di un oggetto di comunicazione allo stato Opening.Invoked during the transition of a communication object into the opening state.

(Ereditato da CommunicationObject)
Open()

Comporta la transizione di un oggetto di comunicazione dallo stato di creazione allo stato di apertura.Causes a communication object to transition from the created state into the opened state.

(Ereditato da CommunicationObject)
Open(TimeSpan)

Comporta la transizione di un oggetto di comunicazione dallo stato di creazione allo stato di apertura entro un determinato intervallo di tempo.Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(Ereditato da CommunicationObject)
ThrowIfDisposed()

Se l'oggetto di comunicazione è stato eliminato, genera un'eccezione.Throws an exception if the communication object is disposed.

(Ereditato da CommunicationObject)
ThrowIfDisposedOrImmutable()

Se la proprietà State dell'oggetto di comunicazione non è impostata su Created, genera un'eccezione.Throws an exception if the communication object the State property is not set to the Created state.

(Ereditato da CommunicationObject)
ThrowIfDisposedOrNotOpen()

Se l'oggetto di comunicazione non si trova nello stato Opened, genera un'eccezione.Throws an exception if the communication object is not in the Opened state.

(Ereditato da CommunicationObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Eventi

Closed

Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Closed.Occurs when a communication object transitions into the closed state.

(Ereditato da CommunicationObject)
Closing

Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Closing.Occurs when a communication object transitions into the closing state.

(Ereditato da CommunicationObject)
Faulted

Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Faulted.Occurs when a communication object transitions into the faulted state.

(Ereditato da CommunicationObject)
Opened

Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Opened.Occurs when a communication object transitions into the opened state.

(Ereditato da CommunicationObject)
Opening

Si verifica quando un oggetto di comunicazione esegue la transizione allo stato Opening.Occurs when a communication object transitions into the opening state.

(Ereditato da CommunicationObject)

Implementazioni dell'interfaccia esplicita

IDefaultCommunicationTimeouts.CloseTimeout

Ottiene l'intervallo di tempo al termine del quale si verifica il timeout del metodo Close richiamato da un oggetto di comunicazione.Gets the interval of time after which the close method, invoked by a communication object, times out.

IDefaultCommunicationTimeouts.OpenTimeout

Ottiene l'intervallo di tempo al termine del quale si verifica il timeout del metodo Open richiamato da un oggetto di comunicazione.Gets the interval of time after which the open method, invoked by a communication object, times out.

IDefaultCommunicationTimeouts.ReceiveTimeout

Ottiene l'intervallo di tempo al termine del quale si verifica il timeout del metodo Receive richiamato da un oggetto di comunicazione.Gets the interval of time after which the receive method, invoked by a communication object, times out.

IDefaultCommunicationTimeouts.SendTimeout

Ottiene l'intervallo di tempo al termine del quale si verifica timeout del metodo Send richiamato da un oggetto di comunicazione.Gets the interval of time after which the send method, invoked by a communication object, times out.

Si applica a