IInputChannel Интерфейс

Определение

Определяет интерфейс, который канал должен реализовать для получения сообщения.

public interface class IInputChannel : System::ServiceModel::Channels::IChannel
public interface IInputChannel : System.ServiceModel.Channels.IChannel
type IInputChannel = interface
    interface IChannel
    interface ICommunicationObject
Public Interface IInputChannel
Implements IChannel
Производный
Реализации

Комментарии

Important

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

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

Модель извлечения обычно используется для IInputChannel получения сообщений: вы вызываете Receive (вытягиваете сообщение из канала), а затем ожидаете поступления сообщения. Альтернативным шаблоном использования является вызов BeginWaitForMessage(TimeSpan, AsyncCallback, Object) или BeginWaitForMessage(TimeSpan, AsyncCallback, Object)вызов Receive(TimeSpan). Этот подход часто используется для транзакционных операций, когда вы запускаете транзакцию между вызовами WaitForMessage(TimeSpan) и Receive.

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

Свойства

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

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

State

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

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

Методы

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

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

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

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

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

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

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

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

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

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

(Унаследовано от ICommunicationObject)
BeginReceive(AsyncCallback, Object)

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

BeginReceive(TimeSpan, AsyncCallback, Object)

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

BeginTryReceive(TimeSpan, AsyncCallback, Object)

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

BeginWaitForMessage(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию ожидания -a-message-to-arrive, которая имеет заданный срок ожидания и объект состояния, связанный с ним.

Close()

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

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

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

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

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

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

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

(Унаследовано от ICommunicationObject)
EndReceive(IAsyncResult)

Завершает асинхронную операцию для получения сообщения.

EndTryReceive(IAsyncResult, Message)

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

EndWaitForMessage(IAsyncResult)

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

GetProperty<T>()

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

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

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

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

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

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

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

Receive(TimeSpan)

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

TryReceive(TimeSpan, Message)

Пытается получить сообщение в течение указанного интервала времени.

WaitForMessage(TimeSpan)

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

События

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

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

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

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

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

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

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

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

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

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

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

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