《.NET技术在网站设计中的研究与开发—计算机毕业设计》由会员分享,可在线阅读,更多相关《.NET技术在网站设计中的研究与开发—计算机毕业设计(55页珍藏版)》请在课桌文档上搜索。
1、毕业设计(论文)说明书题 目:ASRNET技术在网站设计中的研究与开发毕业设计论文中文摘要ASRNET技术在网站开发设计中的研究与开发摘 要:基于MiCroSoft .NET环境的ASP. NET技术,为开发功能强大的动态网站提供了 一种简单、高效的途径。正文阐述的是ASP. NET作为一种全新的动态网站开发技术,它是通过大量使用组件 技术,将Web浏览器与Web效劳器之间的网络通信完全的包装起来,在ASP. NET中,动 态网站开发技术已经变为利用组件搭建“基于Web的应用程序。论文还阐述了网站开发 技术的现状,通过对各个技术的系统比较从而对ASP.NET技术做了较深入的研究,并结合 研究情
2、况开发设计了一个网上书店系统。该系统的根本功能已实现,普通用户进入系统后, 可以查看商品信息,并购置商品;管理员可以添加新的商品信息并可以确认核实客户提交 的订单。关键词:ASRNET 动态网站开发技术组件网上书店毕业设计论文外文摘要Development and Research of ASRNET Technology in Designing Web SiteAbstract: ASP.NET technology based on Microsoft.NET environment provides a simple, effective means to establish mult
3、ifunctional, dynamic web sites.This thesis is about ASRNET a whole new technology to establish dynamic Web sites. By using plentiful component technologies, packs it up the network communications between Web Explorer and Web Server. In ASRNET, the technologies of establishing dynamic web sites are t
4、urning to build applications based-on web by component. And, this thesis also accounts for the actuality of web development technology. I made an in-depth study by comparing with various skills, and then designed a system of bookstore online. All the basic functions of the system have been achieved.
5、 A common user enter the system, he could browse commodity information and purchase. Administrator can add new commodities and verify bills that clients made.Keywords: ASP.NET; Dynamic website developing technology; Component; Bookstore online1引言61. 1问题定义与内容简介61.2 研究背景及研究意义61.3 可行性分析81.3 . 1技术可行性研究8
6、1.4 .2经济可行性研究81.4 论文各章内容介绍82课题研究分析92. 1网站开发技术研究91. 1.1 WEB开发技术的开展92. 1.2技术比较103. 1.3 ASP. NET 技术研究122.2 ASP. NET技术在实例中的应用162. 2. 1 ASP. NET内置对象的应用163. 2.2页面控件的应用192.3 ASP. NET 开发工具223 ASP. NET开发网站应用例如 243. 1方案研究244. 2业务流分析245. 3数据流分析256. 4数据字典273. 4.1数据流分量(即数据元素)273. 4.2数据流283. 4.3数据存储283. 4.4数据处理28
7、4系统设计及各功能模块的实现304. 1系统设计304 . 1. 1系统总体功能结构 305 .1.2系统数据模型设计304. 2详细设计351. 2. 1商品浏览模块354. 2.2商品查询模块 375. 2.3购置商品(购物车)功能模块376. 2. 4订单结算功能模块397. 2.5用户查看所有订单功能模块408. 2. 6管理员添加商品功能模块 419. 2.7管理员查看订单功能模块425. 1用户局部455 2壬 J4 JmJ j=f5 466研究成果评价486. 1 Jf/J, 486.2研究缺乏和解决方案48致谢51.52参考文献1引言上个世纪60年代诞生的互联网,在近十几年的时
8、间里得到了迅猛的开展, 其主要的原因是WEB技术的出现。它将世界各地的信息链接起来,使互联网成为 最大的信息载体,使地球变的像个小村子,使信息共享和流通的能力延伸到了我 们的桌面上。WEB技术是互联网的核心内容,WEB因为具有音频、视频技术,内 部交互和易于管理而受到个人和企业的青睐。随着WEB的逐渐开展和成熟,web 技术也在逐渐的开展,从HTML到CGI,到3P( ASP、JSP、PHP),再到现在的ASP. NET, 已经经过了几个阶段的开展。1.1 问题定义与内容简介ASRNET网络效劳体系架构为使用ASRNET建立网络效劳提供了一个高级 可编程模板。虽然建立网络效劳并不需要使用网络效
9、劳平台,但是它具有许多的 优点将简化开发过程,并且它使用的编程模型对用ASP或VB工作的开发人员 来说是很熟悉的。使用这个可编程模型,开发人员不需要理解 、SC)AP或其 它任何网络效劳标准。本课题的主要目的是对网站设计的相关技术进行理论研究,比较ASRNET 技术的相关特点,并在对各种技术进行系统分析和研究的根底上,借鉴现有系统 的一些经验,开发一网站实现相关管理功能。并且通过学习ASRNET技术并查 阅大量关于网站设计技术的文献资料,比较各种技术的优越性,汇总形成相关文 档。在研究学习的根底上,结合相关资料,设计出简洁的具有用户注册登录、信 息查看、信息查询等功能的系统。网站实现的根本功能
10、是:(1)信息查看:普通 用户和管理员登录系统后可以进行信息查看;(2)信息查询:用户可以登录系统 后进行信息查询。1.2 研究背景及研究意义随着个人电脑和Intemet的普及推广,Web技术得到了迅猛的开展,人们开 始越来越依赖网络:企业通过网络可以更有效、便捷的发布信息和推广自己新的 产品;个人通过网络可以跟自己的朋友聊天、写信,可以查看新闻,可以在网上 娱乐,甚至可以不用出户就可以购置自己喜欢的商品等等,网络带来无尽的便捷 和乐趣。设计出好看,适用的网站就成为必要的,现在用于网站设计、开发的技 术有很多,譬如ASP、JSP、ASP.NET等等。其中 JSP(JaVa Server Pag
11、es) Sun Microsystems 公司倡导、许多公司参与 一起建立的一种动态网页技术标准。它是在传统的网页HTML文件中插入Java 程序段和JSP标记,从而形成JSP文件。JSP与JaVa SerVlet一样,是在效劳器 端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。ASP(Active Server Pages活动效劳器页面)是一种功能强大的运用于效劳器 端的脚本编程环境,但是只能用VBScript或者JavaScript这样的非模块语言来编 程,而且大量的HTML代码和VBSCript、JaVaSeriPt代码混合在一起,使得程序 员需要修改程
12、序的时候比较困难。而ASRNET技术是Microsoft公司推出的新一代动态Web开发技术。 ASP.NET不同于ASP和JSP,它是建立在.NET Framework之上,提供了更易于 编写而且结构清晰的代码,它使用VB.NET和C#等模块化语言编写程序,提高 了代码的再利用性和共享性。ASRNET在结构上几乎完全是基于组件和模块化 的,Web应用程序的开发人员使用这个开发技术可以实现更加模块化的、功能更 强大的应用程序。ASP.NET技术在效率、可重用性及代码量上较ASP和JSP都 有明显的优势。使用ASRNET技术,开发人员不需要理解 、SOAP或其它任何网络效 劳标准。开发人员用ASP
13、.NET生成一个扩展名为.asmx的文件,并把此文件配制J 为网络应用程序的一局部,就建立起了一个网络效劳。asmx文件包含对在其它 地方定义的受控类的引用,或者包含这个类的定义。这个类是由ASP.NET提供 的WebService类所派生。公有的类方法在标记上WebMethod属性后,就会成为 网络效劳方法,把 请求发送到asmx文件中的URL后,这些方法就会被调 用。你不必手工为你的网络效劳建立一个契约。当被调用者请求时,ASRNET 检查类的元数据,以自动生成SCL文件。客户可通过SOAP, GET和 POST提交请求。对方法和参数进行编码的约定是:对 GET,将被编码为 查询字符串;对
14、POST,将被编码为表单数据。GET和 POST的机制不如SOAP有力,但是它们使得客户在访问网络效劳时不必支持SOAPoASRNET网络效劳模型假定了一个无状态效劳结构。无状态结构通常比有 状态结构更具可扩展性。每次收到一个效劳请求后,就生成一个新对象,请求被 转化为一个方法调用,当该方法调用返回时对象被销毁。如果这些效劳需要跨请 求维护状态,那么它们将使用ASP.NET状态管理效劳。基于ASP.NET的网络效 劳在网络应用程序模型中运行,因此它们得到了该模型的所有平安、配制和其它 优点。ASRNET网络效劳还提供了一个为在SCL文件中描述的网络效劳生成分 类的受控代理工具。代理生成器把SC
15、L文件中描述的消息映射成受控类中的方 法。代理对应用程序代码隐藏了所有的网络和引导设备,因此使用网络效劳看起 来就像使用其它受控代码一样。代理将优先使用SOAP链接网络效劳,但是它同 样支持 GET和PoST机制。因此GET和PoST同样也能被使用。网络效劳为在Internet上绑定应用程序提供了一个利用现存体系架构和应用 程序的简单的、灵活的、基于许多标准的模型。网络应用程序很容易与当地开发 的效劳或已存在的效劳集成在一起,而不用考虑开发平台、开发语言或使用的对 象模型,以用于实现任何组成的效劳或应用程序。MieroSoft .NET框架在现有开发人员技巧之上,提供了一个应用程序模板和 关键
16、技术,用于简化平安、可靠、可扩展、高可用性的网络效劳的建立、部署和 不断的开展。1.3 可行性分析1.3.1 技术可行性研究课题主要是理论研究,研究ASP.NET技术在网站开发中的应用,关键是要 查阅大量的关于ASRNET技术和其他网站开发技术方面的文章和书籍。学校图 书馆有大量关于这方面的书籍可以借阅,另外在互联网上也有关于这方面的大量 论文可以查阅。另外网站的设计主要使用的是ASP.NET技术,.NETFrameworkLl 框架作为微软公司已经比较成熟的产品,现在越来越多的网站开发设计都选择 它。1.3.2 经济可行性研究课题研究的是ASRNET技术,设计开发的电子商务网站在PC机上就可
17、以 实现,不要考虑其他的设备。也为以后网站设计开发编程技术的选择提供了更多 的技术支持。1.4 论文各章内容介绍论文共分为六章,由浅至深的阐述了研究的结论并结合实例进行了说明。第一章简要的介绍了 MiCrOSOft .NET框架,提出了课题研究的背景,并对研 究课题做了调研及可行性分析。第二章主要介绍了 WEB技术的开展,简单介绍了 ASP, JSP和PHP技术, 详细说明了 ASP.NET技术,并将各种网站开发技术做了深入比较。第三章全面介绍了对实例系统进行总体设计的方案。第四章介绍系统的详细设计和各功能模块的设计及实现第五章介绍系统的应用演示,分别以用户和管理员的身份进行了演示分析。第六章
18、介绍研究成果的评价及其缺乏的解决方案2课题研究分析2.1 网站开发技术研究2.1.1 WEB开发技术的开展WEB程序初期,网站组成是一系列静态的网页,这种程序只允许用户浏览 网站的信息,而不能和网站进行交互(即静态网页),这就大大制约了商业的经营 活动。为此,CGl技术出现,根本弥补了不能交互的缺点,是技术上的一种突破, 但用户在使用CGI程序时,CGI为每个用户分配一个进程,进程是资源分配的 根本单位,这样使资源不能得到完全很好的利用,并且浪费严重。由于计算机资 源的有限性,限制了使用网站的用户的数量,导致用户使用中速度相对过慢,不 能满足需求。与此同时MiCrOSOft公司和网景公司均看到
19、了 CGl的缺乏,为此分 别设计的一套API,分别是ISAPl和NSAPh这两套APl均采用线程机制,每 个用户均使用一个线程与网站进行交互,他们的出现使得每个语种如DELPHL VB等均可以设计web应用程序,WEB程序获得飞速的开展。但ISAPl和NSAPI 有两个缺点:一是不太稳定,二是要求程序的设计水平较高不利于普及。1995年 java出现后给网站设计带来了曙光,java是一个跨平台的程序设计语言,以其一 次编译,处处运行的优势,迅速推广。与此同时网站的软件技术出现了 ASP、 PHP,JAVA也开展出一个分支JSP,我们一般称之为3Po3P的出现大大降低了网站 设计的门槛,为网站普
20、及起着不可磨灭的奉献。3P的技术各有千秋。ASP是嵌入在HTML中的一种效劳器端编程的WEB 开发技术,即客户端请求网页时ASP文件先在效劳器端编译执行,再以HTML 格式传送给客户端浏览器显示,因此客户看不见ASP文件,程序的保密性较好。 ASP使用的脚本语言是可扩充的,不仅可以使用默认的VBSCriPt语言,也可以 使用JAVASeriPt或JSCri四 通过plug-in的方式还可以使用PerR TCL等第三方 脚本语言。微软还提供了 ImerDeV这样的ASP开发工具。用户在开发的时候可 以使用VB/VC开发ActiveX控件,并借助微软的组件技术COM来实现几乎所 有的CIienV
21、SerVer方式下具有的功能。但是它所使用的语种不是完全的面向对象 式语言,不利于开发大型网站程序,且运行速度较慢。PHP是植根于Unix或Linux的一种网站开发技术,由于Unix和Linux用于 大型效劳器上,寻常百姓很少问津,到近些年LinUX开始推广才逐渐被人们所认 识。和ASP 一样是在效劳器进行编程的,不过PHP是GNU标准的自由软件, 不仅它是免费的,和其配合使用的APaCheSerVer、MySQL数据库也是免费的, 其源代码也是向外公开的。PHP还具有跨平台性,在Window98, NT, Linux, Unix 和Macintosh等环境下均能运行,而且代码可以重用。由于采
22、用类似C和Perl 的语言格式,PHP含有相当丰富的函数库,上载文件、存取数据库中的二进制图 片数据、作图、XML解析等功能的实现,只需借助某个或某几个函数即可完成, 而不像ASP那样需要引入专门的控件才可实现。PHP也有其缺乏。相对ASP来 说,PHP的自由软件身份使得自身的开展得不到颇具实力的软件开发公司的支 持,其开展具有不定性,相应的参考材料、技术支持也较匾乏。它的类似C的 语言风格,使它不如ASP来得容易掌握此外,PHP提供的数据库接口函数也不 统一,在访问数据库时不如ASP那么方便。JSP是由Sun公司推出的非常类似与ASP的一种动态网页技术标准。它也 提供了在HTML代码中混合程
23、序代码,由语言引擎进行解释执行的能力。JSP 使用的是成熟强大的JAVA语言。客户端请求JSP编写的页面时,代码首先被转 换成JAVA源文件,再编译成支持 ,FTP等网络协议的class文件(即Servlet), 并由JAVA虚拟机执行。这种编译操作仅在对JSP页面的第一次请求时发生,虽 然首次调用需几秒的编译加载时间,但后续请求只需调用效劳器端缓存中的 Servlets就可以了,比起每次请求都要解释执行的ASP代码要快。相对于ASP 和PHP来说,JSP在跨平台可重用性和平安性上面还是有很多独到之处的。3P有一个共同的缺点,就是HTML网页代码和脚本混杂,大大增加了网站 开发和维护的难度,另
24、外也由于微软开发一种能JSP相抗衡的新技术,ASRNET 技术的出现根本改变了这些。ASRNET技术使用完全的面向对象语言,网页与 程序别离有利于更好的设计程序,使得代码更简洁、易于编写,不仅提高了重利 用性和共享性,还提高了可调度性、可测量性、平安性和可靠性;同时,对不同 的浏览器提供了更好的支持。ASP. NET能使开发人员创造出更加动态而且伸缩 性更强的应用程序,这种应用程序能够更好地满足公司的商业需求,并提供一个 更加丰富的开发环境。在兼容以前设计习惯的根底上采用完全的可视化设计,使 windows程序和网站程序的风格区别缩小,使用任何语种都只要遵守.NET标准, 都可以使用ASP.N
25、ET,使得技术的推广速度相当快。2.1.2 技术比较ASP和JSP都是使用的脚本语言混合HTML编程,特别是ASP的脚本语言 属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:1、代码逻辑混乱,难于管理:它使用的是脚本语言混合html编程,所以很 难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难, 甚至超出一个程序员所能到达的管理能力,从而造成出错或这样那样的问题。2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以 可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。3、弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使
26、用起来会方 便一些,但相对于它所造成的出错几率就远远得不偿失的。以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱, 一些底层操作只能通过组件来完成,在这点上甚至还远远比不上PHP/JSP,在纠错/调试功能的完善,这点上ASP/PHP/JSP差不多。下面是ASP和ASRNET在具体操作编程上有什么不同。在ASP程序中, 当需要使用Server对象的Create Object方法来建立一个类实例的时候,首先要 声明一个变量fso,之后将变量fso赋予FileSystemObject的对象(FileSyStemc)bject 对象可以在SCriPting这个库中找到)。如果想要AS
27、P代码得以正常运行,还必须 确定相关的DLL文件已经被安装并且注册到效劳器。当C#运行库被安装的时候, FileSystemObject对象是会被自动注册的。但是如果想使用第三方开发的组件或 者使用自己创立的组件,就需要小心安装并且注册你的组件了。其具体的代码如 下:Dim fsoSet fso = Server. CreateObject (zzScripting. FiIeSystemObjectz,) 而在ASP.NET中,在声明一个变量的同时,可以指定它的类型并且初始化 这个变量为了引用一个类,需要使用这样的表示方法:名称空间L子名称空间.类。即如:ScriptingTileSyste
28、mObject fso = new Scripting.FileSystemObjectO;在上面的代码中,引用了 FileSyStemC)bject这个类,而FileSyStemObjeCt这 个类可以在名称空间Scripting中找到。上面的名称空间实际上只是假设的一个 名称空间,它并不存在于.NET的架构当中,所以上面的代码实际上是无法运行 的。由此可以看出ASP和ASP.NET技术的区别了。ASP.NET使用的面向对象的 语言,而不是一种脚本语言,所以它具有面向对象编程语言的一切特性,比方封 装性、继承性、多态性等等,这就解决了刚刚谈到的ASP的那些弱点。封装性 使得代码逻辑清晰,易于
29、管理,并且应用到ASP.NET上就可以使业务逻辑和Html 页面别离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承 性和多态性使得代码的可重用性极大的提高,你可以通过继承已有的对象最大限 度保护你以前的投资。并且C#和C+、JaVa 一样提供了完善的调试/纠错体系。JSP同样是实现动态网页的一个利器。由于他的脚本语言是JAVA,所以继 承了 JAVA诸多优点。ASRNET和JAVA的具体的区别。其重要表达在:1)面向对象性:ASP.NET将C#作为一种面向对象语言,在很多方面来看,微软将C#成为与 JaVa相似的语言。C#另一个有趣的地方是所有对象都自动变成为CoM对象。如 果
30、C#能取得很大的市场占有量的话,那么它将给ASP. NET带来类似于Java的功 能,并且具备更快的性能,因为它可以和WindOWS环境紧密集成。C#是ASP. NET 开发中一个最重要的功能,这也是.NET框架的一个重要组成局部。2)数据库连接:在ASP中的一个亮点是它使用ADO对象,ODBC, OLE-DB和事务处理管理器, 因此ASPWeb数据库应用开发特别简单。ASP. NET开展了更多的功能,因为有了 ADO.NET, ADO. NET带来了更强大更快速的功能。JSP和JDBC目前在易用性和性 能上同ASP/ADO相比已有些落后,当新版本ASP. NET/ADO. NET出现后这样的
31、差异 就更明显。3)大型站点应用:ASP. NET将对大型站点(Web farms)有更好的支持。事实上,微软在这方 面付出了巨大的努力。SP. NET可以让你考虑到多效劳器(multiple servers) 的场合,当你需要更强大的功能时,仅仅只需要增加一台效劳器。整个.NET框 架已经充分地提供了这个方法。ASP. NET提供了外部会话状态(external session State)来提供内置式Web farm的支持。另外,由于请求的各组件相互间经过了 充分的优化,所以速度很快。于是ASP. NET现在可以在大型工程方面与JSP 一样具有等同的能力。而 ASP. NET还有价格方面的
32、优势,因为所有的组件将是效劳器操作系统的一局部。 对于JSP,需要购置昂贵的应用效劳器群来到达同样的目的。4) ASP. NET还提供更多的其它方面的新特性,例如:* 内置的对象缓存和页面结果缓存。* 内置的XML支持,可用于XML数据集的简单处理。* 效劳器控制提供了更充分的交互式控制。可以看出,由于JSP模型是在ASP之后,在许多方面借鉴了 ASP,如:SeSSiOn、 application等对象。同时JSP使用灵活而强大的JAVA语言,而不是低效的脚 本语言,使得JSP与ASP相比,具有明显的优势。但是,ASP. NET又是在借鉴JSP 的优点后推出的,这样ASP. NET又具有后发的
33、优势。2. 1.3 ASP. NET技术研究ASR NET隶属于Microsoft. NET框架,是由.NET框架提供的编程类库所组 成的,它提供了 Web应用程序模型,并采用面向对象的思想一一模块化与组件 化的技术而构建。那说到ASRNET,就不得不先了解下.NET,其全称为Microsoft .NETo Microsoft .NET平台包括用于创立和操作新一代效劳的.NET根底结构和工具;可 以启用大量客户机的.NET USerEXPerience;用于建立新一代高度分布式的数以百 万计的.NET积木式组件效劳;以及用于启用新一代智能互联网设备的.NET设备 软件。Microsoft .N
34、ET产品和效劳-包括Windows.NET,连同建立积木式效劳的核心集成套件;MSNTM .NET;个人订购效劳;Office.NET; Visual Studio .NET; 以及用于.NET的BCentralTMoASP. NET 页面图2.1 ASP. NET体系结构图上面的图就是ASBNET的根本体系结构,其中.NET框架提供CLR (Common LangUageRUmime即通用语言运行时)编译和管理程序页面中代码的执行,类库 那么是提供了一系列的用于处理请求和生成响应的公共代码,程序员可以直接调 用该类库 OlSAPl(IntenIet Server Application Pr
35、ogramming ImerfaCeS)过滤器是 ASP. NET与IIS通信的接口,其中的应用程序作为DLL来实现,并且加载到Internet SerVer的进程空间,这样可以保证应用程序更快地执行。ASR NET本身包含一 个缓存CaChe和一个状态管理器,其中Caehe用来缓存经常使用的Web页面,目 的是提高效劳性能。状态管理器用来跟踪用户的会话状态信息,目的是进行更加 完美的数据交互。在数据库连接上ASR NET是通过ADO. NET (Active Data Object动态数据 对象)上的Managed PrOVider(管理供应商)所提的应用程序编程接口(APD来实现 数据源的
36、数据访问,包括OLEDB和ODB (以开放性数据库互连)所支持的数 据库。下面来说下ADO.NET的主要的特性:互操作性:ADO.NET模型最大限度地利用了由业界大型的外观标准XML 提供的灵活性。ADO.NET使用XML在组件之间以及层之间传送数据集。任何 支持XML格式的组件都可以处理数据,而且接收数据的组件也不一定是 ADO.NET组件。发送或传送数据集的组件只需要向数据集的目的地发送数据集, 而不用担忧接收组件是如何去执行的,请求数据集的组件也就是目的组件可以像 ViSUaIStUdio应用程序或其他应用程序那样执行接收任务。但是,很重要的一点 是:接收组件应该支持XML格式。可维护性
37、:可维护性现在已是评价一种软件程序的标准,可维护性的上下将 直接影响应用程序的升级维护的操作负担。应用程序的维护我们期待的是提高其 性能,在次,不用重新设计,而是调用应用程序之后层次的增加。如果原来的应 用程序是在AD0.NET中使用数据集执行的,那么这种转变相对就容易的多,在 AD0.NET中,层之间的通信相对简单,这是因为层是通过XML格式的数据集 传送数据的。下面的是一个简化了的ADO.NET工作原理图:图2. 2 ADO. NET工作原理图可编程性:AD0.NET模型使用类型化的程序设计操作对象。在类型化程序 设计中,程序设计环境或程序设计语言本身识别对象的类型,这对用户来说是很 重要
38、的。对那些没有或者有很少编程经验的终端用户来说,对代码的理解也是很 容易的。而且,在非类型化的程序设计中,如果开发人员偶尔发生拼写错误,那 么将产生一个运行时错误。而在类型的数据集中,误写导致的语法错误会在编译 时就检测出来。性能:在ADo中,当使用CoM组件技术跨层传送数据时,可以采用已短 开连接的记录集形式,这些值必须转换为CoM能够识别的数据模型,这样就降 低了性能。而AD0.NET能使用已断开连接的数据体系结构,这反过来会使得伸 缩性更加的容易实现,因为这减少了数据的装载量(不需要任何的数据转换)。 因此,在AD0.NET模型中,任何对象都可以在客户端进行处理,这样就提高了 其性能。可
39、伸缩性:基于WEB的以数据为中心的应用程序需要多个用户同时访问数 据库,这增加了对访问数据库的要求,使得可伸缩性成为最主要的特征之一。使 用资源(比方数据库连接和数据库锁定)的应用程序。不支持多用户同时访问数 据,这是因为用户对有限资源的要求最终会超出它们的供应能力,因为AD0.NET 使用了已断开连接的数据访问,所以应用程序不用长时间保持数据库锁定状态或 者数据库连接激活状态。由此,ADO.NET可以通过鼓励程序员保存有限的资源 来提供可伸缩性,并允许多用户同时访问数据。AD0.NET对象模型主要有两个层次:已连接的层:由管理提供程序组成的类组成已断开连接层:根植于DataSet自从Inte
40、rnet出现以来,网络平安一直是人们关注的问题。其中的原因包括 在Internet上传送敏感数据,在Web应用程序之间交换敏感数据以及黑客的威胁 等。对于Web应用程序的开发人员和管理员来说,平安是个重要的问题,也是 个令人头痛的问题,因此需要格外细致的进行规划和设计。在ASPNET应用程 序中,平安性涉及三个根本的操作:身份验证,授权和模拟(冒名顶替)。身份验证(Authentication):这是验证用户身份的有效过程,以便决定是否 允许通过,通常,身份验证就是验证用户名和密码的过程,除了这种常见的身份 验证方式以外,还有比较复杂的验证方式。具体来说身份验证有三种形式:匿名 验证,根本验证
41、和集成的Windows验证。其中匿名验证即允许用户在不用通过 用户名和密码的情况下浏览网站;根本验证即是我们平常说的用户和密码验证 了,这中方式需要对密码进行加密,不然很可能被未授权的用户非法使用,但是 加密技术一直不是很理想,所以这种验证方式的使用一直没被保密性较强的 WEB应用程序使用。集成的WindoWS验证,除了满足根本的验证的条件外,用 户还必须是有效的Windows用户。在这种模式下,IIS效劳器将用Windows域名 控制器验证用户名和密码。授权(Authorization):这是确保允许拥有有效身份的用户只能访问授予访问 权限的那些资源的过程。我们可以对IIS效劳器进行配置可以
42、控制用户对资源的 访问,通过标记网站上可允许的操作可以控制对IIS网站的访问权限。模拟(ImPerSOnatiOn)当请求从HS传递到应用程序时,通过使用模拟,ASR NET应用程序可以选择以这些应用程序当前正为之操作的客户的身份执行。通 常这样做的原因是为了防止在ASP. NET应用程序代码中处理身份验证和授权问 题。在WEB效劳上开发人员可以用ASP. NET生成一个扩展名定为.asmx的文 件,并把此文件配制为网络应用程序的一局部,就建立起了一个网络效劳。asmx 文件包含对在其他地方定义的受控的类的引用,或者包含这个类的定义。这个类 是由ASR NET提供的WebService类所派生
43、。公有的类方法在标记上WebMethod 属性后,就会成为网络效劳方法,把 请求发送到asmx文件中的URL后, 这些方法就会被调用。网络效劳为在Internet上绑定应用程序提供了一个利用现 存体系架构和应用程序的简单的、灵活的、基于许多标准的模型。网络应用程序 很容易与当地开发的效劳或己存在的效劳集成在一起,而不用考虑开发平台、开 发语言或使用的对象模型,以用于实现任何组成的效劳或应用程序。2.2 ASP.NET技术在实例中的应用实例是一个BtoC的电子商务网站,在网站设计中使用了 ASP. NET 一些关键 技术2. 2.1 ASP. NET内置对象的应用ASP.NET有七个主要的内置的
44、对象,分别是:对象名对象说明Page用于设置与网页有关的属性、方法和事件Request从浏览器用户端获取信息Response发送信息到浏览器Server提供效劳器端的属性和方法Session存储单个客户端的信息App Iicati on存储客户端的共享信息Exception捕捉ASP. NET的错误,返回错误信息Page对象最主要的事件有:IniLLoad和UnLOado当进行网页初始化时触发 Page对象的Init事件,接着加载网页并触发Page对象的Load事件,然后如果包 含其他效劳器控件事件的时候,当满足发生条件那么触发相应效劳器控件的事 件,最后离开时触发Page对象的UnLoad事
45、件。在每个页面文件里几乎都可以 找到Page对象的Load事件和Init事件。private void Page_Load(object sender, System. EventArgs e) (如果客户机上本商城的Cookie存在,那么根据该Cookie 显示个性化的顾客欢迎信息if (Request. Cookiesz,IStore-UserName,z !- null)(WelcomeMsg. Text = 欢 迎 +Request. CookieszzIStore-UserName,J. Value + 来到网上商城! ;)private void Page_Init(object
46、sender, EventArgs e)InitializeComponent();这是Default.aspx (首页)中的Page对象的Load事件和Init事件,其中Cookies 存储了客户信息,用来显示个性话的客户欢迎信息。private void Page_Load(object sender, System. EventArgs e) (从传到该页面的请求对象的参数集合中获取GoodsID int GoodsID = Int32. Parse (Request. Params z,GoodsID,z);获取商品的详细信息!Store. IStoreDBO GoodsDetail
47、= new !Store. IStoreDBOO ;!Store. GoodsDetailsmyGoodsDetails二GoodsDetail. GetGoodsDetails(GoodsID);desc,Text - myGoodsDetails. Description;UnitCost. Text=String. Format C 0: cz,myGoodsDetails. UnitCost);ModelName. Text = myGoodsDetails. ModelName;ModelNumber. Text=myGoodsDetails. ModelNumber. ToStringO ;GoodsImage. ImageUrl = GoodsImages/ + myGoodsDetails. GoodsPicture;addToCart. NavigateUrl = AddToCart. aspx?GOOdSlD= + GoodsID;上面的是GoodsDetails.aspx (用于显示商品的详细信息)中的Page对象的 LOad 事件,其