28、自定义通道:Windows通信基础的深入探索

自定义通道:Windows通信基础的深入探索

1. 入站通道的职责与工作流程

入站通道在Windows通信基础中扮演着重要角色,它主要有以下三项职责:
- 接收来自下级通道的消息。
- 将接收到的消息传递给上级。
- 对通过它的入站消息执行操作,以实现其所支持的协议。

通道调度器会要求通道监听器栈中的第一个监听器提供一个用于入站通信的通道。入站通道有标准的异步方法来等待传入消息,当消息到达时这些方法完成。通道调度器使用栈中第一个入站通道的方法等待传入消息,方法完成后就有入站消息需要处理。此时,通道调度器让第一个入站通道继续等待后续消息,同时将已接收的消息根据其地址确定目标端点,并传递给相应的端点调度器。端点调度器根据消息的操作头确定对应的操作,并将消息传递给适当的操作调度器。操作调度器将消息反序列化为数据项,然后传递给服务类型的实例进行处理。

当接收通信的服务所在应用程序不再需要通信时,Windows通信基础会指示通道调度器关闭,通道调度器再通知入站通道栈中的第一个通道关闭。该通道释放其资源,并通知栈中的下一个通道释放资源,以此类推。当第一个通道完成自身资源释放并检测到下级通道也已关闭时,会向通道调度器报告已关闭。其他状态转换指令也以同样方式传递。

2. 通道的形状

为了简化,之前的解释使用了入站通信通道和出站通信通道的概念。实际上,通道具有不同的形状,这由一系列从 System.ServiceModel.Channels.IChannel 接口派生的接口定义:
| 接口 | 通道形状描述 |
| — | — |
| System.S

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值