Udostępnij za pośrednictwem


ChannelBase Klasa

Definicja

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.

Dotyczy