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 |
Получает интервал времени, после которого метод отправки, вызываемый объектом связи, истекает время ожидания. |