ChannelBase Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce l'implementazione di base per i canali personalizzati.
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
- Ereditarietà
- Implementazioni
Commenti
Importante
La chiamata di metodi da questa classe con dati non attendibili è un rischio per la sicurezza. Chiamare i metodi da questa classe solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.
La ChannelBase classe fornisce un'implementazione astratta della classe di base dell'interfaccia IChannel . Richiede anche che ogni canale sia associato a un channel manager. Si noti che l'unico costruttore disponibile per la creazione di istanze di richiede un ChannelBase parametro di channelManager input.
Le modifiche dello stato vengono gestite ereditando dall'implementazione CommunicationObject della macchina a stati.
Ottiene ChannelBase i timeout di comunicazione predefiniti per le operazioni di apertura, chiusura, invio e ricezione dall'oggetto ChannelManagerBase associato.
Gestisce ChannelBase anche il manager per te. Oltre a esporre un riferimento al manager, la classe base notifica anche al manager quando vengono creati ed eliminati i canali. Ma il riferimento al manager è valido solo fino a quando il canale non viene distrutto.
Anche se si usa la classe base, è comunque necessario fornire comportamenti per l'apertura e la chiusura del canale. Le implementazioni predefinite di questi metodi non forniscono informazioni utili.
È anche necessario assicurarsi di eseguire l'override GetProperty ogni volta che si implementa un canale.
GetProperty è un ottimo modo per comunicare informazioni lungo lo stack di canali senza dover sapere quali canali sono sotto l'utente o quali canali sopra possono eseguire query. Definire le interfacce su cui è possibile eseguire query per ottenere informazioni disponibili. Ogni volta che non si riconosce l'argomento di tipo per GetProperty, delegare verso il basso al canale successivo nello stack o restituire null se si sta creando un nuovo canale di trasporto nella parte inferiore dello stack.
Costruttori
| Nome | Descrizione |
|---|---|
| ChannelBase(ChannelManagerBase) |
Inizializza una nuova istanza della classe ChannelBase. |
Proprietà
| Nome | Descrizione |
|---|---|
| DefaultCloseTimeout |
Ottiene l'intervallo di tempo predefinito specificato per il completamento di un'operazione di chiusura. |
| DefaultOpenTimeout |
Ottiene l'intervallo di tempo predefinito specificato per il completamento di un'operazione aperta. |
| DefaultReceiveTimeout |
Ottiene l'intervallo di tempo predefinito specificato per il completamento di un'operazione di ricezione. |
| DefaultSendTimeout |
Ottiene l'intervallo di tempo predefinito specificato per il completamento di un'operazione di invio. |
| IsDisposed |
Ottiene un valore che indica se l'oggetto di comunicazione è stato eliminato. (Ereditato da CommunicationObject) |
| Manager |
Ottiene il gestore di canali associato al canale corrente. |
| State |
Ottiene un valore che indica lo stato corrente dell'oggetto di comunicazione. (Ereditato da CommunicationObject) |
| ThisLock |
Ottiene il blocco che protegge l'istanza della classe durante una transizione di stato. (Ereditato da CommunicationObject) |
Metodi
| Nome | Descrizione |
|---|---|
| Abort() |
Fa sì che un oggetto di comunicazione passi immediatamente dallo stato corrente allo stato di chiusura. (Ereditato da CommunicationObject) |
| BeginClose(AsyncCallback, Object) |
Avvia un'operazione asincrona per chiudere un oggetto di comunicazione. (Ereditato da CommunicationObject) |
| BeginClose(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione asincrona per chiudere un oggetto di comunicazione con un timeout specificato. (Ereditato da CommunicationObject) |
| BeginOpen(AsyncCallback, Object) |
Avvia un'operazione asincrona per aprire un oggetto di comunicazione. (Ereditato da CommunicationObject) |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione asincrona per aprire un oggetto di comunicazione entro un intervallo di tempo specificato. (Ereditato da CommunicationObject) |
| Close() |
Fa sì che un oggetto di comunicazione passi dallo stato corrente allo stato chiuso. (Ereditato da CommunicationObject) |
| Close(TimeSpan) |
Fa sì che un oggetto di comunicazione passi dallo stato corrente allo stato chiuso entro un intervallo di tempo specificato. (Ereditato da CommunicationObject) |
| EndClose(IAsyncResult) |
Completa un'operazione asincrona per chiudere un oggetto di comunicazione. (Ereditato da CommunicationObject) |
| EndOpen(IAsyncResult) |
Completa un'operazione asincrona per aprire un oggetto di comunicazione. (Ereditato da CommunicationObject) |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| Fault() |
Fa sì che un oggetto di comunicazione passi dallo stato corrente allo stato di errore. (Ereditato da CommunicationObject) |
| GetCommunicationObjectType() |
Ottiene il tipo di oggetto di comunicazione. (Ereditato da CommunicationObject) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetProperty<T>() |
Restituisce l'oggetto tipizzato richiesto, se presente, dal livello appropriato nello stack di canali. |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| OnAbort() |
Inserisce l'elaborazione su un oggetto di comunicazione dopo la transizione allo stato di chiusura a causa della chiamata di un'operazione di interruzione sincrona. (Ereditato da CommunicationObject) |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
Inserisce l'elaborazione dopo che un oggetto di comunicazione passa allo stato di chiusura a causa della chiamata di un'operazione di chiusura asincrona. (Ereditato da CommunicationObject) |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Inserisce l'elaborazione in un oggetto di comunicazione dopo la transizione allo stato di apertura a causa della chiamata di un'operazione di apertura asincrona. (Ereditato da CommunicationObject) |
| OnClose(TimeSpan) |
Inserisce l'elaborazione su un oggetto di comunicazione dopo la transizione allo stato di chiusura a causa della chiamata di un'operazione di chiusura sincrona. (Ereditato da CommunicationObject) |
| OnClosed() |
Usa la traccia diagnostica durante la transizione allo stato di chiusura. |
| OnClosing() |
Richiamato durante la transizione di un oggetto di comunicazione nello stato di chiusura. (Ereditato da CommunicationObject) |
| OnEndClose(IAsyncResult) |
Completa un'operazione asincrona sulla chiusura di un oggetto di comunicazione. (Ereditato da CommunicationObject) |
| OnEndOpen(IAsyncResult) |
Completa un'operazione asincrona all'apertura di un oggetto di comunicazione. (Ereditato da CommunicationObject) |
| OnFaulted() |
Inserisce l'elaborazione in un oggetto di comunicazione dopo la transizione allo stato di errore a causa della chiamata di un'operazione di errore sincrono. (Ereditato da CommunicationObject) |
| OnOpen(TimeSpan) |
Inserisce l'elaborazione in un oggetto di comunicazione dopo la transizione allo stato di apertura che deve essere completata entro un intervallo di tempo specificato. (Ereditato da CommunicationObject) |
| OnOpened() |
Richiamato durante la transizione di un oggetto di comunicazione nello stato aperto. (Ereditato da CommunicationObject) |
| OnOpening() |
Richiamato durante la transizione di un oggetto di comunicazione nello stato di apertura. (Ereditato da CommunicationObject) |
| Open() |
Fa sì che un oggetto di comunicazione passi dallo stato creato allo stato aperto. (Ereditato da CommunicationObject) |
| Open(TimeSpan) |
Fa sì che un oggetto di comunicazione passi dallo stato creato allo stato aperto entro un intervallo di tempo specificato. (Ereditato da CommunicationObject) |
| ThrowIfDisposed() |
Genera un'eccezione se l'oggetto di comunicazione viene eliminato. (Ereditato da CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
Genera un'eccezione se l'oggetto di comunicazione la State proprietà non è impostata sullo Created stato . (Ereditato da CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
Genera un'eccezione se l'oggetto di comunicazione non è nello Opened stato . (Ereditato da CommunicationObject) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Eventi
| Nome | Descrizione |
|---|---|
| Closed |
Si verifica quando un oggetto di comunicazione passa allo stato chiuso. (Ereditato da CommunicationObject) |
| Closing |
Si verifica quando un oggetto di comunicazione passa allo stato di chiusura. (Ereditato da CommunicationObject) |
| Faulted |
Si verifica quando un oggetto di comunicazione passa allo stato di errore. (Ereditato da CommunicationObject) |
| Opened |
Si verifica quando un oggetto di comunicazione passa allo stato aperto. (Ereditato da CommunicationObject) |
| Opening |
Si verifica quando un oggetto di comunicazione passa allo stato di apertura. (Ereditato da CommunicationObject) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IDefaultCommunicationTimeouts.CloseTimeout |
Ottiene l'intervallo di tempo dopo il quale si verifica il timeout del metodo close, richiamato da un oggetto di comunicazione. |
| IDefaultCommunicationTimeouts.OpenTimeout |
Ottiene l'intervallo di tempo dopo il quale si verifica il timeout del metodo aperto, richiamato da un oggetto di comunicazione. |
| IDefaultCommunicationTimeouts.ReceiveTimeout |
Ottiene l'intervallo di tempo dopo il quale si verifica il timeout del metodo di ricezione, richiamato da un oggetto di comunicazione. |
| IDefaultCommunicationTimeouts.SendTimeout |
Ottiene l'intervallo di tempo dopo il quale si verifica il timeout del metodo di invio, richiamato da un oggetto di comunicazione. |