基于ASP.NET“一网+多库”平台的设计与实现*

2017-10-19 05:47余杨奎
计算机时代 2017年10期
关键词:表示层控件网贷

余杨奎

(湛江市广播电视大学,广东 湛江 524003)

基于ASP.NET“一网+多库”平台的设计与实现*

余杨奎

(湛江市广播电视大学,广东 湛江 524003)

“一网+多库”是指一个平台连接不同服务器上的数据库。以ASP.NET和C#为技术手段,实现一个平台连接不同服务器上的SQL SERVER和MySQL数据库,重点提出.NET三层架构。在数据层、业务层和表示层使用示例代码分别操作SQL SERVER和MySQL两种数据库,完成Repeater控件和Pager自定义控件进行存储过程分页。在构建Web平台实现资源共享具有一定的指导意义。

开发技术;一网+多库;存储过程;分页

0 引言

“互联网+”时代,现代信息技术在现实生活中的应用越来越广泛,对Web开发技术提出更高的要求。“N网+一库”是指一个数据库通过结构化设计,满足多个平台连接。“一网+多库”是指一个平台连接不同服务器上的数据库。本文以一个平台连接不同服务器上的SQL SERVER和MySQL数据库开发为例。

笔者在广播电视大学从事技术开发多年,参与湛江终身学习网构建工作中,接触Nginx框架反向代理模型构建网站群集技术,实现“N网+一库”构建学习型平台。“N网+一库”对数据库结构设计提出很高的要求,在开发实践中我们发现,数据库的设计往往不能满足需求。广播电视大学经过三十多年的沉淀,深度融合信息技术的教育教学手段[1]。基层电大结合自身特色开发了一系列实用性平台,由于缺少强大的数据库结构设计理念,使得平台之间没有耦合,各自独立,从而出现“信息孤岛”问题。特别是在广播电视大学转型升级为开放大学时期,不能摒弃过去优质的学习资源。同时,笔者在开发信融天下P2P网贷系统过程中发现网贷系统功能单一,会出现很多壁垒,阻碍在行业内发展,P2P平台发展需要更多的功能为平台提供支撑,例如:积分功能。网贷系统强调安全,将这些支撑的子系统数据共享到网贷系统数据库中,可能会导致数据混乱,带来不必要的损失。

1 ASP.NET技术

ASP.NET支持Web应用程序开发,运用了.netframework提供的功能,与PHP、JSP构成目前三大主流Web开发技术。与其他Web开发技术相比,它打破了不能支持强类型语言编写的局限,并且支持面向对象编程。采用ASP.NET技术进行开发的所有Web程序都可以无限制的支持异常控制、类型安全、继承和动态编译[2]。它使用Visual Studio.NET开发,界面友好,支持多种语言,集页面、控件、代码和服务于一体,技术成熟,成为众多Web开发者的首选[3]。JSP和PHP虽然开放源代码,由于英文资料多,对开发者要求比较高,不容易上手[4]。

2 架构设计及创新点

2.1 架构设计

笔者采用Browser/Web Server[5]模式,这种结构以HTTP为传输协议,用户通过浏览器访问数据,它具有良好的跨平台性、可扩展性和易更新升级等优点[6]。由IE浏览器、服务器和数据库组成。平台采用ASP.NET三层架构开发技术,分别是数据层、业务层(数据访问层DAL层和业务逻辑层BLL层)和表示层。在开发过程中,在业务层还会用到一些辅助类和方法,采用继承的方式进行调用。如图1所示。

图1 架构设计图

2.2 架构创新点

本文创新点在于,使用ASP.NET技术连接不同服务器上的SQL SERVER和MySQL数据库,使用自定义控件pager在表示层进行分页显示,解决了业务层采用相同方法连接不同数据库存储过程完成数据调用的过程。

2.3 数据层设计

数据层是最底层,主要负责数据库的连接。本文利用ADO.NET连接不同服务器上的SQL SERVER和MySQL数据库,完成对数据的操作,在Web.config文件完成对数据连接的配置。关键代码如下:

2.4 业务层设计

业务层使用C#语言编写类,它主要用来封装业务逻辑和数据访问逻辑,因此除了业务逻辑层(BLL层)和数据访问层(DAL层)以外,还会有一些具体的实体类和公用及通用类。为避免过多出现sqlconnection,mysqlconnection等类和方法,便于维护,微软提供一些静态类sqlHelper.cs和SqlDataProvider.cs来处理Sql server数据库的连接。笔者基于这种方式,对静态类进行分析,在业务层增加MySqlHelper.cs和MySql-DataProvider.cs来处理Mysql数据库的连接。

2.4.1 静态类中连接数据库设计

2.4.2 业务逻辑层(BLL层)设计

在BLL层用于数据业务流程,实现与数据访问层数据(DAL层)的对接,用于上下层交互的逻辑处理。在业务层设计中,业务逻辑层(BLL层)本身没有太大的意义,可以在BLL层对相关类进行继承,然后重载相关操作。在平台架构中,笔者选择分页作为代码示例,在实现数据访问层数据对接后,将查询结果存储在Repeater控件中进行分页。

2.4.3 数据访问层(DAL层)设计

在DAL层真正实现对数据库的操作,包括对数据库中数据的查询、增加、修改、更新和删除操作。笔者按照BLL层的代码示例,将DAL层对应代码展示。

2.5 表示层设计

表示层显示业务处理结果,为用户实现人机交互和平台展示,负责提供业务界面展示,并根据用户请求调用不同的业务逻辑[7-9]。在表示层设计时可以根据用户所选的控件,通过GET和SET方法来完成实体类属性的操作,以完成数据的获得与显示[10]。笔者在本文采用自定义控件pager完成分页。

2.5.1 分页自定义控件设置

笔者为方便分页调用,将分页设置为自定义控件,一方面可以在各页面进行调用,另一方面可以设置不同的显示样式。分页自定义控件HTML编码如下:

2.5.2 分页控件调用

2.5.3 分页控件C#代码

3 关键技术

本文提出在业务层采用相同方法连接不同数据库存储过程完成数据调用的过程,在这里首先要解决存储过程分页的程序,一方面保证传输的参数一致,另一方面符合相应数据库存储过程编写的语法。

3.1 sqlserver数据库存储过程关键代码

3.2 Mysql数据库存储过程关键代码

传递参数有:in pagesize int,in pageindex int。

4 结束语

本文在Nginx框架反向代理模型构建网站群集技术基础上,逆向发散“N网+一库”开发平台思维,提出“一网+多库”技术方案。基于ASP.NET“一网多库”平台的设计,从ASP.NET三层架构出发,对数据库进行连接,通过sql Server和MySql数据库存储过程完成分页,增加自定义控件来进行分页显示。存储过程分页优势在于提高了数据读取的速度,不同于传统分页遍历整个数据库中的数据,增加数据库读取负担。这项技术提出的优势包括:第一,可以为构建各种社会资源的协同学习型平台提供有力的技术保障;第二,在网贷系统开发上,将业务逻辑和功能支撑数据剥离开来,有效提高了网贷系统的安全等级;第三,对企事业单位都有内网、外网构建,在信息显示方面,提供技术支持。

在技术实践过程中笔者发现,“一网+多库”技术单纯解决数据显示分页是不够的,大部分数据信息包含图片、视频或音频资源,还需要进行服务器资源同步。另外,“一网+多库”技术只能将Sql server和MySql数据库中的数据进行归类显示,还无法做到穿插显示。

[1]李光先.广东开放大学办学特色研究[J].广东开放大学学报,2016(6):2-5.

[2]谢振华.基于Asp.net技术的网站开发架构设计[J].电脑知识与技术,2017.2:94-95

[3]李萍,王得燕,杨文珺.ASP(C#)动态网站开发案例教程[M].机械工业出版社,2011.

[4]冯菁.ASP.NET中DES算法加密与解密的应用[J].陕西理工学院学报(自然科学版),2017.2:64-68

[5]闫秀婧,巩文.基于Web的林业科技信息管理系统的研究与开发[J].北京林业大学学报,2005.S2:195-199

[6]李兰友,杨晓光编著.ASP.NET实用程序设计[M].清华大学出版社,2005.

[7]李树金,罗宏伟.基于.NET的工资查询系统设计与实现[J].软件导刊,2017100(2):102

[8]王孝明,胡健,陆坤等.基于.NET平台可复用软件框架的设计与实现[J].计算机工程,2004.30(22):76-78

[9]李园,陈世平.MVC设计模式在ASP.NET平台中的应用[J].计算机工程与设计,2009.30(7):3180-3184

[10]高杨.基于.NET平台的三层架构软件框架的设计与实现[J].计算机技术与发展,2017.2:77-80,85

Design and implementation of“one network and multiple databases”platform

Yu Yangkui
(Zhanjiang Radio&TV Univsity,Zhanjiang,Guangdong 524003,China)

"One network and multiple databases"refers to that one platform connects multiple databases which are on different servers.Using ASP.NET and C#as technical means,a platform to connect SQL SERVER and MySQL databases on different servers is realized,and.NET three layer architecture is the emphasis.In the data layer,business layer and presentation layer,the sample codes are used to operate SQL SERVER and MySQL two kinds of databases respectively,to realize the storage procedure paging with the Repeater control and the Pager custom control.It has some guiding significance,in the construction of Web platform to realize the resource sharing.

development technology;one network and multiple databases;storage procedure;paging

TP311.1

A

1006-8228(2017)10-20-05

2017-08-11

2015年度湛江市科学技术局重大科技专项“信融天下互联网金融P2P网贷系统研发及平台运营”(15A102)

余杨奎(1983-),男,安徽安庆人,硕士,计算机讲师,主要研究方向:Web程序开发。

10.16644/j.cnki.cn33-1094/tp.2017.10.007

猜你喜欢
表示层控件网贷
基于Spring的企业级Web项目架构设计研究
P2P网贷中的消费者权益保护
关于.net控件数组的探讨
网贷平台未来亟需转型
网贷十年:迎来“去伪存真” 时代
ASP.NET三层构架解析
基于SSH框架科研管理系统的设计
中国网贷地图
ASP.NET服务器端验证控件的使用
基于嵌入式MINIGUI控件子类化技术的深入研究与应用