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

使通信对象立即从其当前状态转换到关闭状态。

(继承自 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()

使通信对象从其当前状态转换到关闭状态。

(继承自 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)

适用于