IChannel 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义所有通道对象都必须实现的基本接口。 它要求通道对象实现由所有通信对象共享的状态机接口,还要求通道对象实现从通道堆栈中检索对象的方法。
public interface class IChannel : System::ServiceModel::ICommunicationObject
public interface IChannel : System.ServiceModel.ICommunicationObject
type IChannel = interface
interface ICommunicationObject
Public Interface IChannel
Implements ICommunicationObject
- 派生
- 实现
注解
重要
使用不受信任的数据从实现此接口的类中调用方法存在安全风险。 仅使用受信任的数据从实现此接口的类中调用方法。 有关详细信息,请参阅 验证所有输入。
通道必须满足 ICommunicationObject 接口所定义的状态机协定。
IChannel 接口将
GetProperty 接口的 ICommunicationObject 方法。 此方法提供了从通道堆栈中检索属性的机制,无论这些属性存在于堆栈的任何位置,该机制都适用。 方法名称中的术语“属性”是指属于堆栈中某个通道的信息片段。 该属性的 CLR 类型由 T
确定。 此检索方法还用在通道工厂和通道侦听器中。
IChannel
由与基本消息交换模式关联的每个通道接口继承:
IInputChannel 用于接收消息。
IOutputChannel 用于发送邮件。
IRequestChannel 用于发送请求。
IReplyChannel 用于发送回复。
IDuplexChannel 用于双向消息传送。
属性
State |
获取面向通信的对象的当前状态。 (继承自 ICommunicationObject) |
方法
Abort() |
使通信对象立即从其当前状态转换到关闭状态。 (继承自 ICommunicationObject) |
BeginClose(AsyncCallback, Object) |
开始一个异步操作以关闭通信对象。 (继承自 ICommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
开始一个异步操作以在指定超时内关闭通信对象。 (继承自 ICommunicationObject) |
BeginOpen(AsyncCallback, Object) |
开始一个异步操作以打开通信对象。 (继承自 ICommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
开始一个异步操作以在指定时间间隔内打开通信对象。 (继承自 ICommunicationObject) |
Close() |
使通信对象从其当前状态转换到关闭状态。 (继承自 ICommunicationObject) |
Close(TimeSpan) |
使通信对象从其当前状态转换到关闭状态。 (继承自 ICommunicationObject) |
EndClose(IAsyncResult) |
完成一个异步操作以关闭通信对象。 (继承自 ICommunicationObject) |
EndOpen(IAsyncResult) |
完成一个异步操作以打开通信对象。 (继承自 ICommunicationObject) |
GetProperty<T>() |
从通道堆栈的适当层返回所请求的类型化对象(如果存在)。 |
Open() |
使通信对象从已创建状态转换到已打开状态。 (继承自 ICommunicationObject) |
Open(TimeSpan) |
使通信对象在指定时间间隔内从已创建状态转换到已打开状态。 (继承自 ICommunicationObject) |
事件
Closed |
当通信对象完成从正在关闭状态转换到已关闭状态时发生。 (继承自 ICommunicationObject) |
Closing |
当通信对象首次进入正在关闭状态时发生。 (继承自 ICommunicationObject) |
Faulted |
当通信对象首次进入出错状态时发生。 (继承自 ICommunicationObject) |
Opened |
当通信对象完成从正在打开状态转换到已打开状态时发生。 (继承自 ICommunicationObject) |
Opening |
当通信对象首次进入正在打开状态时发生。 (继承自 ICommunicationObject) |