WCF for .Net Compact Framework 3.5 应用程序开发示例

WCF for .Net Compact Framework 3.5 应用程序开发示例
 

Visual Studio 2008 为 Windows Mobile 应用程序的开发人员提供了通过 Microsoft .NET Compact Framework 3.5 访问 Windows Communication Foundation (WCF) 功能子集的能力。
 
.NET Compact Framework 3.5 PowerToys 附带了一个名为 NetCFSvcUtil.exe 的工具,可以为您生成这些服务代理类。由于 NetCFSvcUtil.exe 没有包括在 Visual Studio 2008 中,因此您需要自行下载 Power Toys for .NET Compact Framework 3.5,下载地址请参考文章最后提供的链接。
 

 
由于 .NET Compact Framework 3.5 不支持 wsHttpBinding,因此需要将 Visual Studio 创建的默认端点改为 basicHttpBinding 或为该类型添加一个新端点。由于利用 WCF 可以很方便地提供多个端点,而且 wsHttpBinding 为那些支持它的应用程序提高了安全性,因此我们将保留它不动并添加一个使用 basicHttpBinding 的新端点。
 
关于WCF Service 应用程序的开发,这里不进行具体描述。不过,推荐一篇WCF经典文章:
 
关于移动设备应用程序,通过Visual Studio 2008,使用“智能设备项目”模板创建一个新项目。将下列 Compact WCF 程序集添加到您的项目引用中:System.ServiceModel.dll 和 System.Runtime.Serialization.dll。这些程序集是开发WCF Client 端程序所必须的。
 
下面介绍创建WCF for .Net Compact Framework 3.5 应用程序的一些基本步骤。
1. 在创建好智能设备项目程序后,接下来通过Power Toys for .NET Compact Framework 3.5 提供的 netcfsvcuti.exe 工具,创建WCF Service 的代理类和元数据,如Contract等等。
 
netcfsvcutil  /language:cs   http://www.entlib.com:8080/IArticleService.svc
 
本示例程序调用的WCF Service 是EntLib.com 提供的一个Article Service,用来返回最新的博客技术文章。
 
上述脚本,产生如下2个文件:
Generating files...
ArticleManager.cs
CFClientBase.cs
 
此工具不会像桌面 svcutil.exe 工具那样生成 output.config 文件。.NET Compact Framework 3.5 不支持通过配置文件对 WCF 进行配置,因此服务的所有端点信息都需要在代码中。
将上述文件,添加到智能设备项目程序中,后面会调用ArticleManager.cs 文件。
 
此工具生成的代理类ActicleManager.cs将方法调用转换到 WCF 消息中,然后使用 .NET Compact Framework 消息传送层进行发送。响应消息随后被反序列化并通过该方法的返回值传回应用程序。
 
2. 编写代码调用WCF Service。
下面的范例代码,调用WCF Service 的ArticleManager.GetRecentArticle() 方法,返回最新的10篇博客文章。
        private ArticleEntity[] articleList = new ArticleEntity[]{};
 
        private void btnRetrieve_Click(object sender, EventArgs e)
        {
            IArticleService articleManager = new ArticleServiceClient();
 
            articleList = articleManager.GetRecentArticle();
            lstNewArticle.DataSource = articleList;
            lstNewArticle.DisplayMember = "Title";
            lstNewArticle.ValueMember = "ID";
        }
这里Device调用WCF Service 方法和Windows 桌面程序调用WCF Service基本类似。不过,在Device设备或模拟器调用WCF Service 之前,确认Device设备中的浏览器可以访问WCF URL。本示例的WCF 地址为: http://www.entlib.com:8080/IArticleService.svc
WCF服务器不会响应任何设备请求,除非设备或仿真器已插入。
 
 
下面是示例程序的运行界面:
 
 
示例程序代码:
 

 
本示例项目由 http://blog.EntLib.com/yangyang/ 提供,欢迎下载、交流。
 
参考文章:
1. 使用 .NET Compact Framework 编写 IM 应用程序, MSDN
 
2. Power Toys for .NET Compact Framework 3.5 开发WCF for CF 3.5 的工具包
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NET compact FrameWork移动开发指南 * 书名:.NET compact FrameWork移动开发指南 * 作者:颜友宁 * 来源:清华大学出版社 * 出版时间:2006年11月 * ISBN:暂无 * 定价:63元 看 书 评 论 收 藏打 分 购 买 图书版权归出版社和作者所有,CSDN & DearBook独家提供试读和连载 内容介绍: 全书共6篇。第1篇主要介绍了Windows Mobile平台、.NET Compact Framework开发工具Visual Studio 2005。第2篇主要介绍了在C/S架构的移动应用程序中,如何利用.NET Compact Framework进行GUI设计和客户端应用的编程。第3篇主要介绍了.NET全新的数据访问模型ADO.NET和XML处理技术。第4篇主要介绍了移动Web应用程序开发以及移动智能设备所支持的网络技术。第5篇主要介绍了移动应用高级功能,如P/Invoke、POOM、资源与本地化、多线程编程、性能优化和移动安全策略等的开发。第6篇从实际... 目录 * 目录 序言 * 前言 第2章 .NET Compact Framework简介 * 2.1 概述 * 2.2 公共语言运行库 * 2.3 .NET Compact Framework类库 * 2.4 .NET Compact Framework不包括的功能 * 2.5 小结 第8章 自定义控件 * 8.1 概述 * 8.2 自定义控件类型与创建方式 * 8.3 复合控件 * 8.4 扩展控件 * 8.5 自绘控件 * 8.6 自定义组件 * 8.7 小结 第11章 图形 * 11.1 概述 * 11.2 基础知识 * 11.3 绘制图形 * 11.4 绘制字符串 * 11.5 绘制图像 * 11.6 绘制图形报表 * 11.7 小结 第15章 SQL Server 服务器数据访问 * 15.1 概述 * 15.2 如何访问SQL Server数据库 * 15.3 使用SqlConnection连接数据库 * 15.4 使用SqlCommand查询数据库 * 15.5 向SQL语句传递参数 * 15.6 ExecuteReader方法 * 15.7 重载ExecuteReader方法 * 15.8 使用存储过程 * 15.9 DataSet和DataAdapter组件 * 15.10 使用事务 * 15.11 SQL错误处理 * 15.12 小结 第16章 SQL Server CE本地数据访问 * 16.1 概述 * 16.2 数据库基本操作 * 16.3 远程数据访问 * 16.4 合并复制 * 16.5 冲突 * 16.6 数据同步设计策略 * 16.7 小结 第17章 XML编程 * 17.1 概述 * 17.2 XML基础 * 17.3 DOM编程 * 17.4 通过DataSet处理XML * 17.5 XML Schema * 17.6 XML序列化 * 17.7 使用XPath表达式 * 17.8 使用XML配置文件 * 17.9 小结 第18章 注册表编程 * 18.1 概述 * 18.2 Windows Mobile注册表 * 18.3 使用注册表 * 18.4 注册表应用实例 * 18.5 注册表安全 * 18.6 小结 第19章 移动Web开发 * 19.1 概述 * 19.2 移动Web网站 * 19.3 ASP.NET移动控件 * 19.4 移动Web窗体设计 * 19.5 自定义ASP.NET移动控件 * 19.6 移动Web应用的国际化 * 19.7 移动Web网站安全性 * 19.8 小结 第23章 使用POOM * 23.1 概述 * 23.2 Pocket Outlook对象模型 * 23.3 访问POOM * 23.4 使用任务对象 * 23.5 使用联系人对象 * 23.6 使用约会对象 * 23.7 小结 第24章 多线程编程 * 24.1 概述 * 24.2 Windows CE进程和线程 * 24.3 .NET Compact Framework线程 * 24.4 多线程程序设计 * 24.5 简单的多线程示例 * 24.6 改进多线程示例 * 24.7 线程池 * 24.8 Timer类 * 24.9 线程内访问界面控件 * 24.10 死锁风险 * 24.11 线程同步 * 24.12 小结

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值