探索ASP.NET Web服务与数据绑定技术
1. 双向服务概述
在传统的Web服务交互中,客户端(如Silverlight应用程序)发送请求,等待响应,然后处理响应,这是一种单向通信模式。这种模式基于HTTP协议,浏览器请求Web资源,网站不能主动向客户端发起连接和传输信息。这种模式虽然合理,但限制了某些应用(如聊天服务器)和功能(如通知)的实现。在Silverlight中,有几种方法可以解决这些限制:
- 轮询 :客户端定期连接服务器检查新数据。例如,聊天应用的客户端每秒检查服务器是否有新消息。但轮询效率低,大量客户端频繁请求会使服务器不堪重负。
- 套接字 :使用底层网络连接,避免HTTP,采用更高效的TCP。但使用套接字复杂,需要考虑网络超时、字节数组、用户并发和防火墙等问题。
- 双向服务 :Silverlight支持创建双向服务,允许双向通信,服务器可在需要时联系客户端。双向服务基于轮询,但实现更高效。客户端网络请求保持打开但处于非活动状态,不影响服务器,90秒超时后客户端重新连接。双向服务适用于小规模应用,对于有明确少量用户的应用,可用于处理定期更新或耗时操作。
2. 配置双向服务
创建双向服务的步骤与普通Web服务类似,先向项目添加支持Silverlight的WCF服务。例如,服务名为 AsyncTask.svc 。添加新Web服务时,Visual Studio会添加以下内容:
- .svc文件 :服务的端点,客户端消息都指向此URL,如 <
超级会员免费看
订阅专栏 解锁全文
798

被折叠的 条评论
为什么被折叠?



