ChannelBase Класс

Определение

Предоставляет базовую реализацию для пользовательских каналов.

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
Наследование
Реализации

Комментарии

Important

Вызов методов из этого класса с ненадежными данными является угрозой безопасности. Вызовите методы из этого класса только с доверенными данными. Дополнительные сведения см. в разделе Проверка всех входных данных.

Класс ChannelBase предоставляет абстрактную реализацию IChannel базового класса интерфейса. Кроме того, требуется, чтобы каждый канал был связан с диспетчером каналов. Обратите внимание, что единственным конструктором, доступным для создания экземпляров, ChannelBase требуется входной channelManager параметр.

Изменения состояния управляются наследованием CommunicationObject от реализации компьютера состояния.

Возвращает ChannelBase время ожидания связи по умолчанию для открытых, закрытия, отправки и получения операций из связанного ChannelManagerBase с ним.

Кроме того, ChannelBase менеджер управляет вами. Помимо предоставления ссылки на диспетчер, базовый класс также уведомляет руководителя о создании и уничтожении каналов. Но ссылка на менеджера хороша только до тех пор, пока канал не будет разрушен.

Даже если вы используете базовый класс, необходимо по-прежнему предоставлять поведение для открытия и закрытия канала. Реализации этих методов по умолчанию не предоставляют полезные сведения.

При реализации канала также необходимо переопределить GetProperty . GetProperty — отличный способ обмена данными по стеку каналов, не зная, какие каналы находятся под вами, или какие каналы выше могут выполнять запросы. Определите интерфейсы, которые можно запрашивать для получения доступных сведений. Всякий раз, когда аргумент GetPropertyтипа не распознается, делегировать вниз к следующему каналу в стеке или вернуться null , если вы создаете новый транспортный канал в нижней части стека.

Конструкторы

Имя Описание
ChannelBase(ChannelManagerBase)

Инициализирует новый экземпляр класса ChannelBase.

Свойства

Имя Описание
DefaultCloseTimeout

Возвращает интервал времени по умолчанию, предоставленный для завершения операции закрытия.

DefaultOpenTimeout

Возвращает интервал времени по умолчанию, предоставленный для завершения открытой операции.

DefaultReceiveTimeout

Возвращает интервал времени по умолчанию, предоставленный для завершения операции получения.

DefaultSendTimeout

Возвращает интервал времени по умолчанию, предоставленный для завершения операции отправки.

IsDisposed

Возвращает значение, указывающее, был ли удален объект связи.

(Унаследовано от CommunicationObject)
Manager

Возвращает диспетчер каналов, связанный с текущим каналом.

State

Возвращает значение, указывающее текущее состояние объекта связи.

(Унаследовано от CommunicationObject)
ThisLock

Получает взаимоисключающую блокировку, которая защищает экземпляр класса во время перехода состояния.

(Унаследовано от CommunicationObject)

Методы

Имя Описание
Abort()

Вызывает немедленное переход объекта связи из текущего состояния в закрывающемся состоянии.

(Унаследовано от CommunicationObject)
BeginClose(AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи.

(Унаследовано от CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи с заданным временем ожидания.

(Унаследовано от CommunicationObject)
BeginOpen(AsyncCallback, Object)

Начинает асинхронную операцию для открытия объекта связи.

(Унаследовано от CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию открытия объекта связи в течение указанного интервала времени.

(Унаследовано от CommunicationObject)
Close()

Вызывает переход объекта связи из текущего состояния в закрытое состояние.

(Унаследовано от CommunicationObject)
Close(TimeSpan)

Вызывает переход объекта связи из текущего состояния в закрытое состояние в течение указанного интервала времени.

(Унаследовано от CommunicationObject)
EndClose(IAsyncResult)

Завершает асинхронную операцию закрытия объекта связи.

(Унаследовано от CommunicationObject)
EndOpen(IAsyncResult)

Завершает асинхронную операцию для открытия объекта связи.

(Унаследовано от CommunicationObject)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Fault()

Вызывает переход объекта связи из текущего состояния в состояние сбоя.

(Унаследовано от CommunicationObject)
GetCommunicationObjectType()

Возвращает тип объекта связи.

(Унаследовано от CommunicationObject)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetProperty<T>()

Возвращает запрошенный типизированный объект( если он присутствует) из соответствующего слоя в стеке каналов.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OnAbort()

Вставляет обработку объекта связи после перехода к закрываемом состоянию из-за вызова синхронной операции прерывания.

(Унаследовано от CommunicationObject)
OnBeginClose(TimeSpan, AsyncCallback, Object)

Вставляет обработку после перехода объекта связи в состояние закрытия из-за вызова асинхронной операции закрытия.

(Унаследовано от CommunicationObject)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

Вставляет обработку объекта связи после перехода в открытое состояние из-за вызова асинхронной операции открытия.

(Унаследовано от CommunicationObject)
OnClose(TimeSpan)

Вставляет обработку объекта связи после перехода к закрываемого состояния из-за вызова синхронной операции закрытия.

(Унаследовано от CommunicationObject)
OnClosed()

Использует диагностическую трассировку во время перехода в состояние закрытия.

OnClosing()

Вызывается во время перехода объекта связи в закрываемое состояние.

(Унаследовано от CommunicationObject)
OnEndClose(IAsyncResult)

Завершает асинхронную операцию закрытия объекта связи.

(Унаследовано от CommunicationObject)
OnEndOpen(IAsyncResult)

Завершает асинхронную операцию при открытии объекта связи.

(Унаследовано от CommunicationObject)
OnFaulted()

Вставляет обработку в объект связи после перехода в состояние сбоя из-за вызова синхронной операции сбоя.

(Унаследовано от CommunicationObject)
OnOpen(TimeSpan)

Вставляет обработку объекта связи после перехода в открывающее состояние, которое должно выполняться в течение указанного интервала времени.

(Унаследовано от CommunicationObject)
OnOpened()

Вызывается во время перехода объекта связи в открытое состояние.

(Унаследовано от CommunicationObject)
OnOpening()

Вызывается во время перехода объекта связи в открываемое состояние.

(Унаследовано от CommunicationObject)
Open()

Вызывает переход объекта связи из созданного состояния в открытое состояние.

(Унаследовано от CommunicationObject)
Open(TimeSpan)

Вызывает переход объекта связи из созданного состояния в открытое состояние в течение указанного интервала времени.

(Унаследовано от CommunicationObject)
ThrowIfDisposed()

Создает исключение, если объект связи удаляется.

(Унаследовано от CommunicationObject)
ThrowIfDisposedOrImmutable()

Вызывает исключение, если объект State связи, который свойство не задано для Created состояния.

(Унаследовано от CommunicationObject)
ThrowIfDisposedOrNotOpen()

Создает исключение, если объект связи не находится в Opened состоянии.

(Унаследовано от CommunicationObject)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

Имя Описание
Closed

Происходит при переходе объекта связи в закрытое состояние.

(Унаследовано от CommunicationObject)
Closing

Происходит при переходе объекта связи в состояние закрытия.

(Унаследовано от CommunicationObject)
Faulted

Происходит при переходе объекта связи в состояние сбоя.

(Унаследовано от CommunicationObject)
Opened

Происходит при переходе объекта связи в открытое состояние.

(Унаследовано от CommunicationObject)
Opening

Происходит при переходе объекта связи в открытое состояние.

(Унаследовано от CommunicationObject)

Явные реализации интерфейса

Имя Описание
IDefaultCommunicationTimeouts.CloseTimeout

Возвращает интервал времени, после которого метод закрытия, вызываемый объектом связи, истекает время ожидания.

IDefaultCommunicationTimeouts.OpenTimeout

Возвращает интервал времени, после которого открытый метод, вызываемый объектом связи, истекает время ожидания.

IDefaultCommunicationTimeouts.ReceiveTimeout

Получает интервал времени, после которого метод получения, вызываемый объектом связи, истекает время ожидания.

IDefaultCommunicationTimeouts.SendTimeout

Получает интервал времени, после которого метод отправки, вызываемый объектом связи, истекает время ожидания.

Применяется к