ChannelBase Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapewnia podstawową implementację kanałów niestandardowych.
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
- Dziedziczenie
- Implementuje
Uwagi
Ważne
Wywoływanie metod z tej klasy z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Wywołaj metody z tej klasy tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Weryfikowanie wszystkich danych wejściowych.
Klasa ChannelBase zapewnia abstrakcyjną implementację klasy bazowej interfejsu IChannel . Wymaga również, aby każdy kanał był skojarzony z menedżerem kanałów. Należy pamiętać, że jedyny konstruktor dostępny do tworzenia wystąpień wymaga parametru ChannelBase wejściowego channelManager
.
Zmiany stanu są zarządzane przez dziedziczenie po CommunicationObject implementacji maszyny stanu.
Program ChannelBase pobiera domyślne limity czasu komunikacji dla operacji otwierania, zamykania, wysyłania i odbierania z niego skojarzonych ChannelManagerBase .
Zarządza ChannelBase również menedżerem. Oprócz ujawnienia odwołania do menedżera, klasa bazowa powiadamia również menedżera, gdy kanały są tworzone i niszczone. Ale odwołanie do menedżera jest dobre tylko do momentu zniszczenia kanału.
Nawet jeśli używasz klasy bazowej, nadal musisz zapewnić zachowanie podczas otwierania i zamykania kanału. Domyślne implementacje tych metod nie zawierają przydatnych informacji.
Należy również pamiętać o przesłonięć GetProperty za każdym razem, gdy zaimplementujesz kanał.
GetProperty to doskonały sposób komunikowania informacji wzdłuż stosu kanału bez konieczności znajomości kanałów poniżej Ciebie lub kanałów powyżej, które mogą wykonywać zapytania. Zdefiniuj interfejsy, do których można wykonywać zapytania, aby uzyskać dostępne informacje. Za każdym razem, gdy nie rozpoznasz argumentu typu dla GetProperty, deleguj do następnego kanału w stosie lub zwracasz null
, jeśli tworzysz nowy kanał transportu w dolnej części stosu.
Konstruktory
ChannelBase(ChannelManagerBase) |
Inicjuje nowe wystąpienie klasy ChannelBase. |
Właściwości
DefaultCloseTimeout |
Pobiera domyślny interwał czasu podany na zakończenie operacji zamknięcia. |
DefaultOpenTimeout |
Pobiera domyślny interwał czasu podany dla operacji otwierania do ukończenia. |
DefaultReceiveTimeout |
Pobiera domyślny interwał czasu podany dla operacji odbierania do ukończenia. |
DefaultSendTimeout |
Pobiera domyślny interwał czasu podany dla operacji wysyłania do ukończenia. |
IsDisposed |
Pobiera wartość wskazującą, czy obiekt komunikacji został usunięty. (Odziedziczone po CommunicationObject) |
Manager |
Pobiera menedżera kanałów skojarzonego z bieżącym kanałem. |
State |
Pobiera wartość wskazującą bieżący stan obiektu komunikacji. (Odziedziczone po CommunicationObject) |
ThisLock |
Pobiera wzajemnie wykluczaną blokadę, która chroni wystąpienie klasy podczas przejścia stanu. (Odziedziczone po CommunicationObject) |
Metody
Abort() |
Powoduje natychmiastowe przejście obiektu komunikacji z bieżącego stanu do stanu zamknięcia. (Odziedziczone po CommunicationObject) |
BeginClose(AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby zamknąć obiekt komunikacji. (Odziedziczone po CommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby zamknąć obiekt komunikacji z określonym limitem czasu. (Odziedziczone po CommunicationObject) |
BeginOpen(AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby otworzyć obiekt komunikacji. (Odziedziczone po CommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby otworzyć obiekt komunikacji w określonym przedziale czasu. (Odziedziczone po CommunicationObject) |
Close() |
Powoduje przejście obiektu komunikacji z bieżącego stanu do stanu zamkniętego. (Odziedziczone po CommunicationObject) |
Close(TimeSpan) |
Powoduje przejście obiektu komunikacji z bieżącego stanu do stanu zamkniętego w określonym przedziale czasu. (Odziedziczone po CommunicationObject) |
EndClose(IAsyncResult) |
Kończy operację asynchroniczną, aby zamknąć obiekt komunikacji. (Odziedziczone po CommunicationObject) |
EndOpen(IAsyncResult) |
Kończy operację asynchroniczną, aby otworzyć obiekt komunikacyjny. (Odziedziczone po CommunicationObject) |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Fault() |
Powoduje przejście obiektu komunikacji z bieżącego stanu do stanu błędu. (Odziedziczone po CommunicationObject) |
GetCommunicationObjectType() |
Pobiera typ obiektu komunikacji. (Odziedziczone po CommunicationObject) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetProperty<T>() |
Zwraca żądany obiekt typu z odpowiedniej warstwy w stosie kanału. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnAbort() |
Wstawia przetwarzanie w obiekcie komunikacji po przejściu do stanu zamknięcia ze względu na wywołanie operacji przerwania synchronicznego. (Odziedziczone po CommunicationObject) |
OnBeginClose(TimeSpan, AsyncCallback, Object) |
Wstawia przetwarzanie po przejściu obiektu komunikacji do stanu zamknięcia z powodu wywołania operacji asynchronicznej zamknięcia. (Odziedziczone po CommunicationObject) |
OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Wstawia przetwarzanie w obiekcie komunikacji po przejściu do stanu otwarcia z powodu wywołania asynchronicznej operacji otwierania. (Odziedziczone po CommunicationObject) |
OnClose(TimeSpan) |
Wstawia przetwarzanie w obiekcie komunikacji po przejściu do stanu zamknięcia ze względu na wywołanie synchronicznej operacji zamknięcia. (Odziedziczone po CommunicationObject) |
OnClosed() |
Używa śledzenia diagnostycznego podczas przejścia do stanu zamknięcia. |
OnClosing() |
Wywoływane podczas przejścia obiektu komunikacyjnego do stanu zamknięcia. (Odziedziczone po CommunicationObject) |
OnEndClose(IAsyncResult) |
Kończy operację asynchroniczną na zamknięciu obiektu komunikacyjnego. (Odziedziczone po CommunicationObject) |
OnEndOpen(IAsyncResult) |
Kończy operację asynchroniczną podczas otwierania obiektu komunikacyjnego. (Odziedziczone po CommunicationObject) |
OnFaulted() |
Wstawia przetwarzanie w obiekcie komunikacji po przejściu do stanu błędu z powodu wywołania operacji synchronicznej błędu. (Odziedziczone po CommunicationObject) |
OnOpen(TimeSpan) |
Wstawia przetwarzanie w obiekcie komunikacji po przejściu do stanu otwarcia, który musi zostać zakończony w określonym przedziale czasu. (Odziedziczone po CommunicationObject) |
OnOpened() |
Wywoływane podczas przejścia obiektu komunikacyjnego do otwartego stanu. (Odziedziczone po CommunicationObject) |
OnOpening() |
Wywoływane podczas przejścia obiektu komunikacyjnego do stanu otwarcia. (Odziedziczone po CommunicationObject) |
Open() |
Powoduje przejście obiektu komunikacji z utworzonego stanu do stanu otwartego. (Odziedziczone po CommunicationObject) |
Open(TimeSpan) |
Powoduje przejście obiektu komunikacji z utworzonego stanu do stanu otwartego w określonym przedziale czasu. (Odziedziczone po CommunicationObject) |
ThrowIfDisposed() |
Zgłasza wyjątek, jeśli obiekt komunikacji jest usuwany. (Odziedziczone po CommunicationObject) |
ThrowIfDisposedOrImmutable() |
Zgłasza wyjątek, jeśli obiekt State komunikacji, dla której właściwość nie jest ustawiona Created . (Odziedziczone po CommunicationObject) |
ThrowIfDisposedOrNotOpen() |
Zgłasza wyjątek, jeśli obiekt komunikacji nie znajduje się w Opened stanie. (Odziedziczone po CommunicationObject) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Zdarzenia
Closed |
Występuje, gdy obiekt komunikacji przechodzi do stanu zamkniętego. (Odziedziczone po CommunicationObject) |
Closing |
Występuje, gdy obiekt komunikacji przechodzi do stanu zamknięcia. (Odziedziczone po CommunicationObject) |
Faulted |
Występuje, gdy obiekt komunikacji przechodzi do stanu uszkodzonego. (Odziedziczone po CommunicationObject) |
Opened |
Występuje, gdy obiekt komunikacji przechodzi do otwartego stanu. (Odziedziczone po CommunicationObject) |
Opening |
Występuje, gdy obiekt komunikacji przechodzi do stanu otwierania. (Odziedziczone po CommunicationObject) |
Jawne implementacje interfejsu
IDefaultCommunicationTimeouts.CloseTimeout |
Pobiera interwał czasu, po którym metoda zamknięcia wywoływana przez obiekt komunikacji jest przekroczona. |
IDefaultCommunicationTimeouts.OpenTimeout |
Pobiera interwał czasu, po którym metoda otwierania wywoływana przez obiekt komunikacji jest przekroczona limit czasu. |
IDefaultCommunicationTimeouts.ReceiveTimeout |
Pobiera interwał czasu, po którym metoda odbierania wywoływana przez obiekt komunikacji jest przekroczona. |
IDefaultCommunicationTimeouts.SendTimeout |
Pobiera interwał czasu, po którym metoda wysyłania wywoływana przez obiekt komunikacji jest przekroczona limit czasu. |