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) |