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)。 此方法对于在调用和Receive调用WaitForMessage(TimeSpan)之间启动事务的事务用法很常见。

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)

适用于