ChannelBase Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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) |
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) |
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í
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. |