标题 | SQL数据库操作在WCF中的应用 |
范文 | ![]() ![]() 摘要:将SQL数据库操作语言用于分布式开发中,并基于Windows Commuunication Foundation(WCF)开发了某应用软件,测试了这些代码的实用性。测试证明相关代码可以广泛应用于各种具体解决方案中。 关键词:WCF;SQL数据库;代码 DOIDOI:10.11907/rjdk.151117 中图分类号:TP392 文献标识码:A 文章编号:16727800(2015)006014502 基金项目基金项目: 作者简介作者简介:蒋美云(1977-),女,江苏宜兴人,硕士, 南京工业职业技术学院计算机与软件学院讲师,研究方向为软件工程与人工智能、数据库技术。 1 WCF编程模型 Windows Commuunication Foundation(WCF)[1]是统一的编程模型,用来为微软平台编写分布式应用,它涵盖了之前出现的多种技术,是面向服务(SOA)思想的一个具体应用。WCF通过SOAP(Simple Object Access Protocal 简单对象访问协议)[2]能够方便访问分布在异构网络中的不同应用。WCF实际上构建了一个框架,这个框架实现了在互联系统中各个Application之间通信。 基于WCF的开发主要分为服务端和客户端应用两部分。服务端包括契约的定义、实现和寄宿三方面;客户端包括客户端代理的生成和服务的实现。构建一个典型的解决方案包括4个项目[3]:①Contracts:定义服务契约(Service Contract),引用System.ServiceMode程序集(WCF框架的绝大部分实现和API定义在该程序集中);说明要实现什么服务;②Services:提供WCF服务的实现。实现定义在Contracts中相应的服务契约,说明如何实现Contracts定义的服务;③Hosting:实现对定义在Services项目中服务的寄宿,该项目须同时引用Contracts和Services两个项目和System.ServiceMode程序集,启动和关闭服务、实例化Service类并提供服务的访问地址和通信方式;④Client:生成终结点、绑定、契约相关服务代理类,通过代理类完成最终服务。 2 WCF中SQL Server常用操作 WCF中的编程语言是C#,C#对数据库的操作基于ADO.NET对象模型,该对象模型包括数据提供程序和DataSet组件,数据提供程序有4个,分别是:Connection对象、Command对象、DataAdapter对象和DataReader对象,WCF主要使用这几个对象对数据库进行操作。 2.1 数据库连接 本例中定义了两个方法,分别实现数据库的连接和关闭。 2.2 Services数据库查询、插入、更新和删除 在Contracts中定义了一系列和数据库操作相关的接口,在Services中实现了数据库的打开和关闭服务,对数据的增删改查也是在Services中实现的。数据的增删改查操作通过DML(Data Manipulation Language)语句实现,DML包括4种基本操作,即INSERT、UPDATE、SELECT和DELETE,分别对应插入、更新、查询和删除操作。 (5)HOSTING托管 本例通过IIS托管相应服务。 3 Client数据显示 3.1 生成客户端代理 WCF生成客户端代理的方法有多种:硬编码代理类、通过SvcUtil.exe和添加服务引用。本文通过添加服务引用生成了ServiceReference1.ServiceClient代理类,通过代理类的对象可以调用Services中定义的服务。 3.2 客户端查询数据实现 (1)登陆实现 以上代码实现了整表数据查询,并绑定到数据控件GridView中显示。 4 结语 本文给出了一个基于WCF的数据库访问完整应用,在WCF架构下,通过ADO.NET常用数据库组件对SQL Server数据库进行访问,实现增删改查相关业务,并在客户端完成调用,实现不同应用。 WCF架构依次分为:客户层→服务层(业务逻辑层、数据访问层)。本文例子不足之处是业务逻辑层和数据访问层没有分离,今后的改进中可以更加清晰这两层关系。 参考文献: [1]STEVE RESNICK,RICHARD CRANE,CHRIS BOWEN. WCF核心技术[M].鲁成东,戚文敏,译.北京:人民邮电出版社 ,2009. [2]PABLO CIBRARO,KURT CLAEYS,FABIO COZZOLINO,et al.WCF 4高级编程[M].吴文国,译.北京:清华大学出版社,2011. [3]蒋金楠.WCF技术剖析 [M]. 北京:电子工业出版社,2009. [4][WCF 4.0新特性]标准终结点与无(SVC)文件服务激活[EB/OL]. http://www.cnblogs.com/artech. [5]实训中使用到SqlCommandBuilder例子[EB/OL].http://blog.sina.com.cn/u/3798122933. 责任编辑(责任编辑:杜能钢) |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。