移动 WCF: 使用 .NET Compact Framework 编写 IM 应用程序
今天推荐一篇关于 Windows Mobile WCF 开发的文章!
标题:移动 WCF: 使用 .NET Compact Framework 编写 IM 应用程序
作者:Andrew Arnott
摘要:移动设备的寻址能力问题一直以来都非常棘手,它会使编写从服务器接收推送数据的 Windows Mobile® 应用程序变得非常困难。小型设备一般都不具有与其绑定的静态 IP 地址或动态 DNS 项。对于此类设备,常见的解决方法是在设备联机时向服务器发送一个 HTTP 请求,然后服务器使该请求进入等待状态,直到有内容要推送给设备为止。此时服务器使用更新内容来响应这个一直在等待的请求,而设备则在开始处理更新内容同时发出另一个请求以等待下一次更新。
此解决方法会给服务器的可伸缩性带来影响,因为它必须同时挂起许多请求,而不是立即响应它们并随即关闭连接。这还会缩短设备的电池使用寿命,因为设备必须始终保持连接状态。如果在服务器的更新内容准备就绪时设备未处于开启状态,服务器将无法发送更新,它必须丢弃更新内容或继续保留此状态,即都为哪些设备提供了哪些更新。最后,如果网络不可用,应用程序也无法发送或接收消息。
Visual Studio® 2008 为 Windows Mobile 应用程序的开发人员提供了通过 Microsoft® .NET Compact Framework 3.5 访问 Windows® Communication Foundation (WCF) 功能子集的能力,由于此工具包括的两个新 WCF 绑定元素非常有利于使用电子邮件传输来收发消息,因而解决了上述的许多问题。由于许多设备已经具备电子邮件同步功能,因此这些传输可借助电子邮件的固有队列特性和已在 Internet 上建立的电子邮件服务器来创建可寻址的消息队列,这些消息队列能够以真正的消息推送方式进行点对点、设备对服务器以及服务器对设备的消息级别的通信。在本文中,我将概述 .NET Compact Framework 3.5 所支持的 WCF 子集,并介绍如何在移动应用程序中利用这些传输和工具。