Поделиться через


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
Производный
Реализации

Комментарии

Важно!

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

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

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

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

Свойства

LocalAddress

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

State

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

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

Методы

Abort()

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

(Унаследовано от 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)

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

Close()

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

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

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

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

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

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

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

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

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

EndTryReceive(IAsyncResult, Message)

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

EndWaitForMessage(IAsyncResult)

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

GetProperty<T>()

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

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

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

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

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

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

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

Receive(TimeSpan)

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

TryReceive(TimeSpan, Message)

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

WaitForMessage(TimeSpan)

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

События

Closed

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

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

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

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

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

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

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

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

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

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

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