Share via


ChannelBase Třída

Definice

Poskytuje základní implementaci pro vlastní kanály.

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
Dědičnost
Odvozené
Implementuje

Poznámky

Důležité

Volání metod z této třídy s nedůvěryhodnými daty představuje bezpečnostní riziko. Metody z této třídy volejte pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.

Třída ChannelBase poskytuje abstraktní základní třídu implementace IChannel rozhraní. Vyžaduje také, aby byl každý kanál přidružený ke správci kanálů. Všimněte si, že jediný konstruktor, který je k dispozici pro vytváření instancí, ChannelBase vyžaduje channelManager vstupní parametr.

Změny stavu se spravují děděním z CommunicationObject implementace stavového počítače.

Objekt ChannelBase získá výchozí časové limity komunikace pro operace otevření, zavření, odesílání a přijímání z přidružených ChannelManagerBase operací.

Správce ChannelBase také spravuje za vás. Kromě zveřejnění odkazu na nadřízený, základní třída také upozorní manažera, když jsou kanály vytvořeny a zničeny. Ale odkaz na manažera je dobrý jen do té doby, dokud kanál není zničen.

I když použijete základní třídu, musíte stále zadat chování pro otevření a zavření kanálu. Výchozí implementace těchto metod neposkytují užitečné informace.

Při každé implementaci kanálu se také musíte ujistit, že ho přepíšete GetProperty . GetProperty je vynikající způsob, jak komunikovat informace podél zásobníku kanálů, aniž byste museli vědět, jaké kanály jsou pod vámi nebo jaké kanály nad vámi můžete provádět dotazy. Definujte rozhraní, která se dají dotazovat na dostupné informace. Kdykoli nerozpoznáte argument typu pro GetProperty, delegujte dolů na další kanál v zásobníku nebo se vraťte null , pokud vytváříte nový přenosový kanál v dolní části zásobníku.

Konstruktory

ChannelBase(ChannelManagerBase)

Inicializuje novou instanci ChannelBase třídy.

Vlastnosti

DefaultCloseTimeout

Získá výchozí časový interval zadaný pro dokončení operace uzavření.

DefaultOpenTimeout

Získá výchozí časový interval zadaný pro dokončení operace otevření.

DefaultReceiveTimeout

Získá výchozí časový interval zadaný pro dokončení operace příjmu.

DefaultSendTimeout

Získá výchozí časový interval zadaný pro dokončení operace odeslání.

IsDisposed

Získá hodnotu, která označuje, zda komunikační objekt byl odstraněn.

(Zděděno od CommunicationObject)
Manager

Získá channel manager, který je přidružen k aktuálnímu kanálu.

State

Získá hodnotu, která označuje aktuální stav komunikačního objektu.

(Zděděno od CommunicationObject)
ThisLock

Získá vzájemně se vylučující zámek, který chrání instanci třídy během přechodu stavu.

(Zděděno od CommunicationObject)

Metody

Abort()

Způsobí okamžitý přechod komunikačního objektu z aktuálního stavu do koncového stavu.

(Zděděno od CommunicationObject)
BeginClose(AsyncCallback, Object)

Zahájí asynchronní operaci k zavření komunikačního objektu.

(Zděděno od CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Zahájí asynchronní operaci uzavření komunikačního objektu se zadaným časovým limitem.

(Zděděno od CommunicationObject)
BeginOpen(AsyncCallback, Object)

Zahájí asynchronní operaci k otevření komunikačního objektu.

(Zděděno od CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Zahájí asynchronní operaci, která otevře komunikační objekt v zadaném časovém intervalu.

(Zděděno od CommunicationObject)
Close()

Způsobí přechod komunikačního objektu z aktuálního stavu do uzavřeného stavu.

(Zděděno od CommunicationObject)
Close(TimeSpan)

Způsobí přechod komunikačního objektu z aktuálního stavu do uzavřeného stavu v zadaném časovém intervalu.

(Zděděno od CommunicationObject)
EndClose(IAsyncResult)

Dokončí asynchronní operaci k zavření komunikačního objektu.

(Zděděno od CommunicationObject)
EndOpen(IAsyncResult)

Dokončí asynchronní operaci k otevření komunikačního objektu.

(Zděděno od CommunicationObject)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Fault()

Způsobí přechod komunikačního objektu z aktuálního stavu do vadného stavu.

(Zděděno od CommunicationObject)
GetCommunicationObjectType()

Získá typ komunikačního objektu.

(Zděděno od CommunicationObject)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetProperty<T>()

Vrátí zadaný objekt požadovaný, pokud je k dispozici, z příslušné vrstvy v zásobníku kanálů.

GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnAbort()

Vloží zpracování komunikačního objektu po přechodu do koncového stavu z důvodu vyvolání synchronní operace přerušení.

(Zděděno od CommunicationObject)
OnBeginClose(TimeSpan, AsyncCallback, Object)

Vloží zpracování po přechodu komunikačního objektu do stavu uzavření z důvodu vyvolání asynchronní operace zavření.

(Zděděno od CommunicationObject)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

Vloží zpracování komunikačního objektu po přechodu do stavu otevření z důvodu vyvolání asynchronní operace otevření.

(Zděděno od CommunicationObject)
OnClose(TimeSpan)

Vloží zpracování komunikačního objektu poté, co přejde do konečného stavu z důvodu vyvolání synchronní operace uzavření.

(Zděděno od CommunicationObject)
OnCloseAsync(TimeSpan)

Poskytuje základní implementaci pro vlastní kanály.

(Zděděno od CommunicationObject)
OnClosed()

Používá diagnostické trasování během přechodu do koncového stavu.

OnClosing()

Vyvolána během přechodu komunikačního objektu do koncového stavu.

(Zděděno od CommunicationObject)
OnEndClose(IAsyncResult)

Dokončí asynchronní operaci při zavření komunikačního objektu.

(Zděděno od CommunicationObject)
OnEndOpen(IAsyncResult)

Dokončí asynchronní operaci při otevření komunikačního objektu.

(Zděděno od CommunicationObject)
OnFaulted()

Vloží zpracování komunikačního objektu poté, co přejde do chybového stavu kvůli vyvolání synchronní operace selhání.

(Zděděno od CommunicationObject)
OnOpen(TimeSpan)

Vloží zpracování komunikačního objektu po přechodu do stavu otevření, který musí být dokončen v zadaném časovém intervalu.

(Zděděno od CommunicationObject)
OnOpenAsync(TimeSpan)

Poskytuje základní implementaci pro vlastní kanály.

(Zděděno od CommunicationObject)
OnOpened()

Vyvolána během přechodu komunikačního objektu do otevřeného stavu.

(Zděděno od CommunicationObject)
OnOpening()

Vyvolána během přechodu komunikačního objektu do stavu otevření.

(Zděděno od CommunicationObject)
Open()

Způsobí přechod komunikačního objektu z vytvořeného stavu do otevřeného stavu.

(Zděděno od CommunicationObject)
Open(TimeSpan)

Způsobí přechod komunikačního objektu z vytvořeného stavu do otevřeného stavu v zadaném časovém intervalu.

(Zděděno od CommunicationObject)
ThrowIfDisposed()

Vyvolá výjimku, pokud je komunikační objekt odstraněn.

(Zděděno od CommunicationObject)
ThrowIfDisposedOrImmutable()

Vyvolá výjimku, pokud komunikační objekt State vlastnost není nastaven na Created stav.

(Zděděno od CommunicationObject)
ThrowIfDisposedOrNotOpen()

Vyvolá výjimku, pokud komunikační objekt není ve Opened stavu.

(Zděděno od CommunicationObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Událost

Closed

Nastane, když komunikační objekt přejde do uzavřeného stavu.

(Zděděno od CommunicationObject)
Closing

Nastane při přechodu komunikačního objektu do koncového stavu.

(Zděděno od CommunicationObject)
Faulted

Nastane při přechodu komunikačního objektu do chybového stavu.

(Zděděno od CommunicationObject)
Opened

Nastane, když komunikační objekt přejde do otevřeného stavu.

(Zděděno od CommunicationObject)
Opening

Nastane, když komunikační objekt přejde do stavu otevření.

(Zděděno od CommunicationObject)

Explicitní implementace rozhraní

IAsyncCommunicationObject.CloseAsync(TimeSpan)

Poskytuje základní implementaci pro vlastní kanály.

(Zděděno od CommunicationObject)
IAsyncCommunicationObject.OpenAsync(TimeSpan)

Poskytuje základní implementaci pro vlastní kanály.

(Zděděno od CommunicationObject)
IDefaultCommunicationTimeouts.CloseTimeout

Získá časový interval, po jehož uplynutí dojde k vypršení časového limitu metody close, vyvolána komunikačním objektem.

IDefaultCommunicationTimeouts.OpenTimeout

Získá časový interval, po jehož uplynutí je otevřená metoda vyvolána komunikačním objektem, vypršení časového limitu.

IDefaultCommunicationTimeouts.ReceiveTimeout

Získá časový interval, po jehož uplynutí dojde k vypršení časového limitu metody příjmu, vyvolány komunikačním objektem.

IDefaultCommunicationTimeouts.SendTimeout

Získá časový interval, po jehož uplynutí metoda send, vyvolána komunikačním objektem, vypršení časového limitu.

Metody rozšíření

CloseHelperAsync(ICommunicationObject, TimeSpan)

Poskytuje základní implementaci pro vlastní kanály.

OpenHelperAsync(ICommunicationObject, TimeSpan)

Poskytuje základní implementaci pro vlastní kanály.

GetInternalCloseTimeout(CommunicationObject)

Poskytuje základní implementaci pro vlastní kanály.

Platí pro