快速业务通道

ASP.NET 2.0+SQL Server2005构建多层应用

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

随着.NET 2.0的发布,将会使得使用ASP.NET 2.0来构建的Web应用越来越容 易。使用ASP.NET 2.0和SQL Server 2005,将会比ASP.NET 1.1更方便地构建多 层体系架构的web应用。本文,将使用ASP.NET 2.0和SQL Server 2005 (.net使 用Visual Studio 2005 beta 2,SQL Server 2005使用april ctp版本)来 构建一个简单的多层应用的例子,并且说明其中在.NET 2.0和SQL Server 2005 中的一些新的特性,比如objectdatasource,master pages,clr 存储过程, tableadapter向导等。

多层应用简介

什么是多层架构的应用呢?传 统上的CLR模式便是两层应用的典型例子,也就是客户机/服务器模式。这种模式 只是两层架构,客户机发出请求给服务器,服务器将处理大量来自客户端的请求 ,经过业务逻辑运算和处理后,再返回给客户端。两层架构的模式显然不能满足 现代以互联网为趋势的企业计算处理要求,因为其部署,负载均衡等处理十分麻 烦,所以就有了三层架构乃至于多层架构便出现了。多层架构的核心思想是,将 整个业务应用划分为表示层-业务层―数据访问层-数据库,明确地将客户端的 表示层、业务逻辑访问、和数据访问及数据库访问划分出来,十分有利于系统的 开发,维护、部署和扩展。下面我们以典型的一个例子来说明,如何使用 ASP.NET 2.0和SQL Server 2005来构建一个多层应用。

我们的这个例子 十分简单,但足以能够说明问题。我们的应用只有两个页面,第一个页面将调用 SQL Server 2005数据库中的pubs数据库的author表,列出所有的作者,然后点 选每个作者的链接,将显示该作者写过哪些书籍。

下面的图,说明了在 ASP.NET 2.0架构下,我们的这个多层应用的架构图:

ASP.NET 2.0+SQL Server2005构建多层应用

从上 图可以看出,我们将以这样的方式来构建这个多层应用。首先,从图的最上方开 始看,蓝色部分的是表示层,就是我们web应用的外观显示,该层直接和用户打 交道,比如处理输入输出等,在ASP.NET 2.0中,我们可以使用master page模版 技术,以构建一个外观风格保持一致的页面(这在下文中会提到)。接下来是业 务逻辑层,一般在该层中会直接处理业务逻辑及相关计算等,而在ASP.NET 2.0 中,我们可以很方便地通过使用objectdatasource控件来处理业务逻辑层。

业务逻辑层再接着和数据访问层(data access layer)打交道。数据访问层 的作用是,将所有对数据库操作的有关过程业务分离出来,当数据库的结构等发 生改变时,只需要对数据访问层的代码进行修改就可以了,不需要再修改其他的 地方,这样会方便和不同的数据库进行打交道。在ASP.NET 2.0中,通过使用 TableAdapter数据向导操作,可以十分快速地从已有的数据库中,生成数据访问 层的代码,而基本上不需要写什么代码。

最后,我们通过使用SQL Server 2005 新特性:clr stored procedure(clr 存储过程),来创建存储过程。在SQL Server 2005 中,你可以使用自己熟悉 的.NET语言来创建存储过程了。

使用SQL Server 2005 的CLR存储过程

SQL Server 2005的一大新特性便是整合了.net 的CLR。整合了.net CLR的好 处在于,可以很方便地使开发者可以使用自己熟悉的.net 语言来创建存储过程 ,触发器,自定义函数等。在本文中,将以C#来创建存储过程。为什么不用T- SQL来创建存储过程呢?因为T-SQL发展到目前,已经很长时间了,在某些场合有 其局限性,比如T-SQL不是面向对象的,某些语法过于复杂等。而如果使用面向 对象的.NET 语言来编写如存储过程等数据对象时,由于.net 语言强大的特性, 因此能写出更健壮和更优秀的存储过程。注意,通过SQL Server 2005用.NET编 写的存储过程,都是和用.NET语言编写一般应用的程序一样,都是managed code 。此外,CLR 编程语言提供了 T-SQL 中所没有的丰富构造(例如数组和列表等 )。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号