毕业设计(论文)DOTNET版的个人博客实现

上传人:仙*** 文档编号:33891740 上传时间:2021-10-19 格式:DOC 页数:43 大小:427.55KB
收藏 版权申诉 举报 下载
毕业设计(论文)DOTNET版的个人博客实现_第1页
第1页 / 共43页
毕业设计(论文)DOTNET版的个人博客实现_第2页
第2页 / 共43页
毕业设计(论文)DOTNET版的个人博客实现_第3页
第3页 / 共43页
资源描述:

《毕业设计(论文)DOTNET版的个人博客实现》由会员分享,可在线阅读,更多相关《毕业设计(论文)DOTNET版的个人博客实现(43页珍藏版)》请在装配图网上搜索。

1、DONTNET 版的个人博客实现IDOTNET 版的个人博客实现摘 要博客,是最近几年出现的一个新现象。“它成了类似于个人主页的东西,但又无需雕饰,只需自由而随意地表达自己的看法即可,类似于一种公开的个人日记”。这样的说法恐怕代表了一种很大众化的倾向。其实,博客已经开始其初现商业价值:博客炒红了很多平凡的人。像木子美、李寻欢、芙蓉姐姐等就是典型的例子。走红后的这些网络红人随后便开始接拍电影、做广告、演讲走秀等,进行商业圈内的各种活动。相信不久还会涌现出一批像网络歌手庞龙、杨臣刚一样红得发紫的人才,这足以让更多的人趋之若骛。从博客的开发经济价值来看,尽管有人想到在这里牟利,目前虽然还没有当成一种

2、产业来发展,大多网络空间区,还是闲暇的场所;但是,随着高科技的发展,我想,博客的功能会更加健全,人们的交往将从虚拟走向现实。在高科技的支撑下,从事这个平台的人就会增加,一些开发商可能会对这块肥肉很感兴趣,投资开发博客的厂商就会有可能像今天发展网上商店一样多如牛毛。博客是因特网的产物,所以,同时它亦结合了多媒体技术在里,说到多媒体这个方面嘛,先说说其两个显著特点:首先是它的综合性,它将计算机、声像、通信技术合为一体,是计算机、电视机、录像机、录音机、音响、游戏机、传真机的性能大综合;其次是充分的互动性,它可以形成人与机器、人与人及机器间的互动,互相交流的操作环境及身临其境的场景,人们可以根据需要

3、进行控制。人机相互交流是多媒体最大的特点,也可以说是一次革命,因为体现人可以根据需要进行控制,不再觉枯燥无味。新开发的技术里,将会使博客与多媒体技术互融得更好。关键词关键词 ASP.NET2.0 / .NET XML/ 博客 DONTNET 版的个人博客实现IIDOTNET version of the personal blog realizeAbstractBlog, in recent years there has been a new phenomenon. It has become similar to the personal home page of things, but

4、without Carving only free and freely express their own views only. similar to an open personal diary. I am afraid this statement on behalf of a very popular trend. In fact, the blog has begun its early commercial value : red blog speculation of a lot of ordinary people. Like Mu Zimei, Lixinhuan, Sis

5、ter Furong, etc., is a typical example. The success of these networks will begin next star of the film star, advertising, lectures Zouxiu. commercial sphere of activities. I believe soon there will emerge a group of singers sheng, like the network, he, just like in the Red empurple talent This is su

6、fficient to allow enjoyed by more people. Blog from the economic value of the development, although some thought here profit, Although not as an industry to develop, most of the network space, or leisure establishments; However, With the development of high technology, I think the blog function will

7、 be more complete, the exchanges between people from virtual to reality. In the high tech support, in the platform of the people will increase, some developers may be interested in this piece of meat. invest in the development of manufacturers blog will be like today with the development of numerous

8、 online shops like. Blog is the product of the Internet, and it also combines the multimedia technology in Bali, said the multimedia aspects, right first to give its two notable features : First is its comprehensiveness, it will computers, audio-visual and communication technologies were integrated,

9、 computers, TV sets, VCRs, tape recorders, audio, games, fax machines, large integrated; Second is fully interactive, it can form and the machine, human and machine interaction between the exchanging of operating environment and the thick of the scene, People need to be under control. Man-machine in

10、teraction is the largest multimedia features, it can also be a revolution, because people can reflect the need for control, not McGREGOR dull.Keywords: ASP.NET2.0/. NET/ XML/ blog DONTNET 版的个人博客实现III目 录摘 要.IABSTRACT.II1 绪 论.11.1 课题背景 .11.2 课题研究目的和研究内容 .11.3 设计思想 .12 开发工具介绍.32.1 VS2005 的介绍 .32.2 DOTN

11、ET 的简介.62.3 SQL SERVER2005 数据库支持.113需求分析.143.1 研究设计中要解决的问题 .143.1.1 市场需求.143.1.2 功能分析 .143.1.3 性能分析 .143.1.4 系统功能图.153.2 具体实现中采用的关键技术及复杂性分析 .173.2.1 系统结构 .173.2.2 用户管理 .183.2.3 页面结构 .193.2.4 ASP.NET 对象的使用 .193.2.5 采用了 UrlReWrite 技术 .213.2.6 页面出错处理 .264 设计与实现.27DONTNET 版的个人博客实现IV4.1 设计实现的策略和算法描述 .274

12、.1.1 BLOG 设计思想 .274.1.2 BLOG 数据库设计 .274.1.3 数据访问 .294.1.4 数据绑定 .304.1.5 RSS 的实现 .314.2 编程模型及数据结构 .335 总结.345.1 技术总结 .345.2 页面预览 .35致谢.38主要参考文献.39DONTNET 版的个人博客实现11 绪 论1.1 课题背景DOTNET 一出现,就在 C/S 和 B/S 结构的软件开发中占据着重要的地们。如今DOTNET 已经在 B/S 开发中得到了广泛的应用,而且很多企业都采用 DOTNET 的 B/S结构才开发自己企业的产品网站,以及企业内部的管理系统。DOTNET

13、 之所以可以在发布很短的时间里就得到如此好的成绩,与微软产品的人性化设计分不开,加上 VS2005(该博客采用的开发环境)的所见即所得大大减少了软件开发的周期,同时也保证了开发难度和后期测试的工作可以有效进行。DOTNET 在 B/S 开发中如此容易,那么在各类的中大型的门户网站中都为用户准备了博客,让大家可以拥有自己的空间。如此,如何满足广大用户对自定义的博客的需求,我在基本对 DOTNET 的 B/S 开发能力得到保证的基础上,尽量采用了DOTNET 中新的元素,个人博客的实现正是采用了 DOTNET 的可视公开发环境,使博客界面在开发初期就呈现出来,让开发者可以容易修改和测试实际效果。1

14、.2 课题研究目的和研究内容该个人博客是采用 DOTNET 的 B/S 模式三层结构设计模式,设计中所用到的技术都是 B/S 开发所需要的技术知识,其中包括 MasterPage,URL 重写技术,SQL2005数据操作,存储过程,XML 技术,RSS 技术,以及 ASP.NET 的对象,对这些技术知识的应用,将所以 B/S 基础开发的技术包括在内,以利于将来参加工作对 DOTNET 技术知识的需求。1.3 设计思想该个人博客的采用文章浏览与用户管理相分离的设计模式,各自与数据库直接操作。在用户管理这块,用户正确登陆后可以修改自己的登陆信息,对文章进行修改和 ASP 另一个亮点是它使用 ADO

15、 对象,ODBC, OLE-DB 和事务处理管理器。因此 ASP DONTNET 版的个人博客实现2Web 添加的操作,另外还有对文章类型的添加操作,对文件的管理中,可以把文章分类管理;在文章浏览这一块,把页面分成四部分,即顶部的大标题,左侧的文章类型分类,右侧的文章列表,下部的版权信息;同时在顶部的大标题中列出菜单导航。在顶部区域分为 LOG 和导航菜单,导航菜单主要是包括不同类别的文章菜单以及链接到用户管理系统。在左侧实现:博客欢迎信息以及作者的简单信息,文章类别,还有 RSS 的 XML 实现,还有一些特别的链接技术图片。右侧的实现比较复杂,主要是根据选择进行加载不同的页面,最主要的是文

16、章列表和文章浏览,在浏览文章时,显示评论中的前五条记录,浏览者可以查看所有的评论,还可以自己参与评论。DONTNET 版的个人博客实现32 开发工具介绍2.1 VS2005 的介绍微软公司在 2005 年 12 月初发布新一代企业级应用开发平台.NET Framework 2.0 和开发工具 Visual Studio 2005。 现代信息部门的开发团队必须因应高度竞争的商业环境,快速进行应用软件系统的设计、开发、测试以及部署带领企业赢得市场。大部分的软件开发团队,都面临以下几项挑战:开发团队间的沟通困难,开发工具形形色色,分散且难以互相整合开发程序、开发标准难以建立。 Microsoft V

17、isual Studio 2005 开发工具系列,有许多令人期盼已久的强化功能,提供更高的程序开发效率、更精简的程序代码、与更佳的安全性。课程将介绍这些令人赞赏的新特色,包括 .NET Framework 2.0、ASP.NET 2.0、64-bit 程序开发支持、新的 Windows Form 程序设计、以及对行动装置解决方案的全新开发支持。更精彩的是,首度推出的 Visual Studio Team System 是与开发工具完全整合的软件开发生命周期管理平台,与 Agile 方法论以及 CMMI 规范整合,除了软件开发流程更加严谨之外,软件开发的质量与时间也更能掌控,将一贯以来 Visu

18、al Studio 开发工具支持个人开发者高生产力的优势延伸至支持整个高效率及流程导向的开发团队。DONTNET 版的个人博客实现4(1)下面就是 VS2005 的开发环境。图 1-1 VS2005 的开发环境(2)下面的是属性栏。图 1-2 属性栏DONTNET 版的个人博客实现5(3)下面的是 VS2005 环境中的工具箱 图 1-3 工具箱(4)下面的是 VS2005 中的解决方案资源管理器(本设计中的解决方案)图 1-4 资源管理器DONTNET 版的个人博客实现6以上各部分将在本设计中经常用到。也是 VS2005 开发过程中经常需要对代码控件进行设置和修改的地方。在 VS2005 开

19、发 B/S 软件过程中,以 aspx 结尾的文件是前台文件,而以 aspx.cs才是后台操作代码。是与前台文件分离出来了,有助于我们相对自己需要的操作对代码进行修改和更新。 图 1-5 视图代码切换点击“设计”或“源码”就可以在前台视图和前台代码之间进行切换。2.2 DOTNET 的简介MicroSoft .NET 的策略是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行合理延伸。这样,开发人员必将创建出摆脱设备硬件束缚的应用程序,以便轻松实现互联网连接。MicroSoft .NET 无疑是当今计算机技术通向计算时代的一个非常重要的里程碑。 .NET 的核心组件有:

20、一组用于创建互联网操作系统的构建块,其中包括 Passport.NET(用于用户认证)以及用于文件存储的服务、用户首选项管理、日历管理以及众多的其它任务。 构建和管理新一代服务的基本结构和工具,包括 Visual Studio.NET、.NET 企业服务器、.NET 框架和 Windows.NET 。 能够启用新型智能互联网设备的.NET 设备软件。 .NET 对最终用户来说非常重要,因为计算机的功能将会得到大幅度提升,同时计算机操作也会变得非常简单。特别地,用户将完全摆脱人为的硬件束缚:用户可以自由冲浪于互联网的多维时空,而不是束缚在便携式电脑的方寸空间可通过任何桌面系统、任何便携式电脑、任

21、何移动电话或 PDA 进行访问,并可对其进行跨应用程序的集成。 .NET 可使用户轻松进行互联网连接,并轻松完成那些在当今看来十分费时而且费力的事务,它们往往要求用户进行数据重输入并需运行几个小时才能完成。通过DONTNET 版的个人博客实现7将多项安全数据流合并到单一的用户界面(或者甚至是可编程决策引擎) ,.NET 架构将用户从充斥于当今 Web 的数据竖井的束缚中解脱出来。用户可以自由访问、自由查看、自由使用他们的数据。 .NET 对开发人员来说也十分重要,因为它不但会改变开发人员的开发应用程序的方式,而且使得开发人员能创建出全新的各种应用程序。新型开发范例的核心是Web 服务这个概念的

22、引入。Web 服务是一种通过简单对象访问协议(SOAP),在互联网上展露其功能性的、极为公开的服务。SOAP 是一种基于可扩展标记语言(XML)制定的协议。 在过去,开发人员通过集成本地系统服务来构建应用程序。在这种模型下,开发人员可以访问丰富的开发资源并能严格控制应用程序的行为。 如今,开发人员已在很大程度上挣脱了这种模型的束缚,致力于构建具有复杂结构的 n 层化系统,这种系统能将网络上众多的应用程序一并进行集成,大大提升了应用程序的价值。这样,开发人员便可把精力集中在充分挖掘软件独特的商业价值,而不是构建基本结构上。可喜的局面将应运而生:软件投放市场的时间大大缩短、开发人员的编程效率明显提

23、高,最终把质量上乘的软件呈现给用户。 我们正在进入一个崭新的计算时代一个由互联网(尤其是 Internet 核心技术 XML)实现的时代。利用 XML,能够创建出可供任何人从任何地方使用的、功能非常强大的应用程序。它极大地拓展了应用程序的功能,并实现了软件的动态提供。在这种情况下,软件已不完全指那些从光盘进行安装的程序,而是演变成了一种服务类似于 ID 调用程序或按收看次数进行收费的电视人们可通过通信媒体订购的服务。 n 层计算技术具有能够大幅度提高生产力、紧密耦合的特点,而 Web 概念具有面向消息、松散耦合的特点,我们将二者有机地糅合在一起,实现了上述构想。我们将这种计算风格称为 Web

24、服务,它的出现标志着人类已经迈入应用程序开发技术的新纪元。Web 服务是一种应用程序,它可以通过编程并使用标准的 Internet 协议,像超文本传输协议(HTTP)和 XML,将功能展示在互联网和企业内部网上。还可将 Web服务视作 Web 上的组件编程。 .NET 正是根据这种 Web 服务原则而创建的,微软目前正着手提供这个基本结构,以便通过.NET 平台的每一部分来实现这种新型的 Web 服务。而 Visual Studio.NET、.NET 框架、Windows.NET 和.NET 企业服务器,正是为进行基于 Web 服DONTNET 版的个人博客实现8务模型的应用程序开发而度身定做

25、的新一代开发工具和基本结构。.NET 构建块服务、新增的.NET 设备支持以及即将到来的.NET 用户体验,将为人们彻底攻克这一难题划上一个圆满的句号,使人们能够充分利用 Web 服务模型,如愿以偿地开发出新一代应用程序。NET Enterprise Servers 和 Windows 2000 操作系统,为创建具有高度可管理性的、能迅速投入市场的应用程序提供了坚实基础。它们利用的是可扩展标记语言(XML),因此随着 Web 体系结构的革新,在此平台上创建的程序依然很有价值。 .NET 平台的核心是,采用有效的、分门别类的方式来构建应用程序,达到其前所未有的规模。该平台上的 Web 服务模型指

26、的是:企业应用程序的中心业务要素通常由本地管理,而支持它们的服务(如用户认证、文件存储、用户首选项管理、日历、邮件等等)却无须本地管理,可以被无缝订购。为了存储用户文件和邮件,IT专业人员往往在服务器上安装新的独立磁盘冗余阵列(RAID 阵列) ,而有了.NET,他们在这一方面将会花费较少的精力,而更多地致力于怎样为公司增加效益。 该 Web 服务模型还将动态配置新软件的发布和更新。用户将以极其紧密的连接方式工作,因此更易于管理。而简化的管理又可使 IT 专业人员更能适应变幻莫测的业务需求。 开发应用程序的.NET Web 服务模型将为企业应用程序的创建开辟一条新路。通过企业内外多种服务的联合

27、,很容易把企业内部数据和客户及合作伙伴的相关数据结合在一起,大大简化了应用程序的创建过程。这就为最终用户发掘了空前的功能涵盖性。例如,利用某公司的雇员福利程序,可以从其 HR 数据库订购信息,通过Web 订购福利管理公司的服务、订购工资管理公司的服务。终端用户可以在简单、直观的界面下操作,而这个界面可以显示他们的累积休假时间、个人所得福利以及上次工资额。运行语言(runtime)调入并运行用任何运行感知编程语言所写的代码。以运行为目标的代码被称为受控(managed)代码,受控代码代码只是意味着在内部可执行代码与运行自身间存在已定义好的合作契约。对于象生成对象、调用方法等这样的任务,被委托给了

28、运行语言,这使得在运行语言能为可执行代码增加额外的服务。 类型系统的主要设计目的是使多种语言能深度集成。用一种语言所写的代码能继承用另一种语言所写的类的实现,用一种语言所写的代码抛出的异常能被用另一种语言写的代码捕获,象调试和剖析之类的操作会在完全封闭下工作,而不用考虑DONTNET 版的个人博客实现9代码所用的语言。这就意味着编写可重用类库的开发者,不再需要为每一种编程语言或编译器生成一个版本,并且使用类库的开发者不再受到为他们使用的编程语言开发的库的限制。ASP.NET 网络 服务体系架构为用 ASP.NET 建立网络 服务提供了一高级可编程模板。虽然建立网络服务并不需要使用网络 服务平台

29、,但是它提供许多的优点将简化开发过程,并且它使用的编程模型对用 ASP 或 VB 工作的开发人员来说是很熟悉的。使用这个可编程模型,开发人员不需要理解 HTTP、SOAP 或其它任何网络服务规范。 开发人员用 ASP.NET 生成一个扩展名为.asmx 的文件,并把此文件配制为网络应用程序的一部分,就建立起了一个网络 服务。ASMX 文件或者包含对在其它地方定义的受控类的引用,或者包含这个类的定义。这个类是由 ASP.NET 提供的WebService 类所派生。公有的类方法在标记上 WebMethod 属性后,就会成为网络服务方法,把 HTTP 请求发送到 ASMX 文件中的 URL 后,这

30、些方法就会被调用。你不必手工为你的网络服务建立一个契约。当被调用者请求时,ASP.NET 检查类的元数据,以自动生成 SCL 文件。 客户可通过 SOAP,HTTP GET 和 HTTP POST 提交请求。对方法和参数进行编码的约定是:对 HTTP GET,将被编码为查询字符串;对 HTTP POST,将被编码为表单数据。HTTP GET 和 HTTP POST 的机制不如 SOAP 有力,但是它们使得客户在访问网络服务时不必支持 SOAP。ASP.NET 网络服务模型假定了一个无状态服务结构。无状态结构通常比有状态结构更具可扩展性。每次收到一个服务请求后,就生成一个新对象,请求被转化为一个

31、方法调用,当方法调用返回时对象被销毁。如果这些服务需要跨请求维护状态,那么它们将使用 ASP.NET 状态管理服务。基于 ASP.NET 的网络服务在网络应用程序模型中运行,因此它们得到了该模型的所有安全、配制和其它优点。 ASP.NET 网络服务还提供了一个为在 SCL 文件中描述的网络服务生成分类的受控代理工具。代理生成器把 SCL 文件中描述的消息映射成受控类中的方法。代理对应用程序代码隐藏了所有的网络和引导设备,因此使用网络服务看起来就象使用其它受控代码一样。代理将优先使用 SOAP 链接网络服务,但是它同样支持 HTTP GET和 HTTP POST 机制。因此 HTTP GET 和

32、 HTTP POST 同样也能被使用。 网络服务为在 Internet 上绑定应用程序提供了一个利用现存体系架构和应用程序的简单的、灵活的、基于许多标准的模型。网络应用程序很容易与当地开发的DONTNET 版的个人博客实现10服务或已存在的服务集成在一起,而不用考虑开发平台、开发语言或使用的对象模型,以用于实现任何组成的服务或应用程序。 Microsft .NET 框架在现有开发人员技巧之上,提供了一个应用程序模板和关键技术,用于简化安全、可靠、可扩展、高可用性的网络服务的建立、部署和不断的发展。 通过上面的介绍,我们能够感觉到 MicroSoft .NET 对于我们今后的程序设计将产生巨大的

33、影响1。ASP.NET 前台页面是采用 DHTML,即动态 HTML。由于当今很多企业级系统采用 B/S 架构开发,相当多的页面内容要和数据库打交道,单纯依靠 HTML 和 JavaScript 已经无法实现,必须采用新的技术这就是动态 HTML。所谓动态 HTML(Dynamic HTML,简称 DHTML),其实并不是一门新的语言,它只是 HTML、CSS 和客户端脚本的一种集成。DHTML 建立在原有技术的基础上,可分为三个方面:一是 HTML,也就是页面中的各种页面元素对象,它们是被动态操纵的内容; 二是 CSS,CSS 属性也是动态操纵的内容,从而获得动态的格式效果; 三是客户端脚本

34、(例如 JavaScript),它实际操纵 Web 页上的 HTML 和 CSS。 使用 DHTML 技术,可使网页设计者创建出能够与用户交互并包含动态内容的页面。实际上,DHTML 使网页设计者可以动态操纵网页上的所有元素甚至是在这些页面被装载以后。利用 DHTML,网页设计者可以动态地隐藏或显示内容、修改样式定义、激活元素以及为元素定位。DHTML 还可使网页设计者在网页上显示外部信息,方法是将元素捆绑到外部数据源(如文件和数据库)上。所有这些功能均可用浏览器完成而无需请求 Web 服务器,同时也无需重新装载网页。这是因为一切功能都包含在 HTML 文件中,随着对网页的请求而一次性下载到浏

35、览器端。可见,DHTML 技术是一种非常实用的网页设计技术2。2.3 SQL SERVER2005 数据库支持该 BLOG 采用 SQL Server2005 作为数据库, SQL Server2005 的 10 个最重要的特点。NET 框架主机 使用 SQL Server2005,开发人员通过使用相似的语言,例如微DONTNET 版的个人博客实现11软的 VisualC#.NET 和微软的 VisualBasic,将能够创立数据库对象。开发人员还将能够建立两个新的对象用户定义的类和集合。 XML 技术 在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)

36、是一个重要的标准。SQL Server2005 将会自身支持存储和查询可扩展标记语言文件。 ADO.NET2.0 版本 从对 SQL 类的新的支持,到多活动结果集(MARS),SQL Server2005 中的 ADO.NET 将推动数据集的存取和操纵,实现更大的可升级性和灵活性。 增强的安全性 SQL Server2005 中的新安全模式将用户和对象分开,提供 fine- grainaccess 存取、并允许对数据存取进行更大的控制。另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。 Transact-SQL 的增强性能 SQL Server2005 为开发可升级的

37、数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT,APPLY, ROW_NUMBER 和其他数据列排行功能,等等。 Web 服务 使用 SQL Server2005,开发人员将能够在数据库层开发 Web 服务,将 SQL Server 当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能。 报表服务 利用 SQL Server2005,报表服务可以提供报表控制,可以通过VisualStudio2005 发行。 全文搜索功能的增强 SQL Server2005 将支持丰富的全文应用软件。服务器的编目功能将

38、得到增强,对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的运行,提供更深入的了解3。微软整合 SQL Server 2005 与 Visual Studio 2005 倒不是顶新鲜的创举,Oracle 早在 2004 年年底即率先针对 Visual Studio 2003,推出 Oracle Developer Tools for Visual Studio .NET,用意在提供.NET 平台的 Oracle 用户,整合于 Visual Studio 的数据库设计与管理工具,甚至可利用.NET 开发 Stored Procedure(预存程序)

39、。相信 Oracle 在不久的将来,也会针对.NET Framework 2.0 推出更新的开发版本。 Stored Procedure 效率佳,但与厂商紧密捆绑 DONTNET 版的个人博客实现12站在程序开发者的立场,数据库与商业逻辑分开,数据库纯粹储存数据,程序开发交由应用程序处理比较单纯;但从 DBA 的角度出发,系统归系统,数据的处理由数据库负责比较好。虽然两者看法分岐,不过,Stored Procedure 贴近数据库引擎,执行效能较佳,况且数据确实有预先处理的需求,透过程序远程处理不仅耗时,而且有网络断线造成执行失败的风险,因此,实务上 Stored Procedure 有存在的

40、必要性。 Stored Procedure 有以下的好处: 1.模块化的程序撰写:只需建立一次 Stored Procedure,储存在数据库中,就可以让不同的程序呼叫。 2.执行效率佳:如果需要大量或反复执行的数据处理,Stored Procedure 的执行速度会比 T-SQL 程序代码的批处理快。因为 Stored Procedure 是在建立的时候进行剖析和最佳化,所以执行一次以后存在内存中。而程序代码则是每次执行时都要反复地从客户端传到服务器。 3.减少网络流量:即使是好几百行 T-SQL 程序代码的作业,也只要透过一个指令就可以执行 Stored Procedure 中的程序代码,

41、而不必在网络上传送几百行程序代码。 虽然微软的 T-SQL 或 Oracle 的 PL/SQL,都兼容于 ANSI-SQL,但毕竟不是标准,两者都是厂商专属的数据库程序语言,所以,只要选择撰写 Stored Procedure,就是紧密捆绑的开始。不过,除非有不堪使用的重大理由,否则企业选定应用程序搭配的数据库,少有更换的情况,所以效能与捆绑的衡量,是视应用而定。 以 T-SQL 或.NET 开发 Stored Procedure 各有利弊 单就 SQL Server 而言,Visual Studio 2005 与 SQL Server 2005 整合,明显的好处在于开发数据库程序,例如 St

42、ored Procedure 或 Trigger 可以纳管。过去,Stored Procedure 必须部署到数据库执行看看,才知道有没有问 题,而且Stored Procedure 就像一般程序,档案可能被别人修改或不小心被覆盖,因此有管理的需要。透过 Visual Studio 的控管,对于 SQL Server 的管理确有正面的效果。 如果企业采用 T-SQL 撰写 Stored Procedure,SQL Server 2005 已附赠一套精简版的 Visual Studio,DBA 不再需要使用阳春的文字编辑器撰写 Stored Procedure,可享有开发、测试及版本管理的好处。

43、 DONTNET 版的个人博客实现13若搭配 Visual Studio 2005,可使用 C#和 Visual Basic 撰写 Stored Procedure。事实上,利用通用性程序语言撰写 Stored Procedure,微软不是原创,Java 的 SQLJ 也是对等的设计。 SQL Server 2005 的核心已由.NET Framework 2.0 改写,因此,以 Visual Basic 或 C#开发的 Stored Procedure 好处包括: 1.编译成为 DLL(.NET Managed code Assembly)的 Stored Procedure 档案,执行在原

44、生的.NET Framework 2.0 平台,预估效能会比 T-SQL 好,尤其是大量循环和字符串处理的应用。 2.由于 T-SQL 是特定用途的程序语言,无法表达复杂的逻辑,所以即使是简单的字符串处理或数字计算,可能就要写数十行的程序表达;改由通用性用途的 C#或Visual Basic 可以大幅缩短程序的长度,也就增加程序的可维护性。 3.相较于 T-SQL 是 SQL Server 专属语言,.NET 是 ISO 标准。 缺点一言以蔽之,却很关键:企业可能必须有长期保存 Visual Studio 各种版本的心理准备。 长远看来,数据库与开发工具的生命周期大不相同,数据库首重稳定与安全

45、,升级的频率不像开发工具那么赶流行,未来可能.NET Framework 和 Visual Studio都更新了好几个版本,企业的 SQL Server 还在 2005 版,而 Visual Studio 不像JBuilder 一样有切换 JDK 版本的功能。因此,DBA 的计算机不管改朝换代了几次,都必须装有 Visual Studio 2005,甚至随数据库版本的多元化,必须装有 Visual Studio 不同版本,而且光盘也不能丢掉。那么情况可能就像现在计算机必须安装着VB 6 甚至 VB 3 一样诡异。至于选 T-SQL 或.NET 的权衡,可能又需视 Stored Procedur

46、e 的应用层面来决定。 升级 SQL Server 2005 才能享有整合的好处。 数据库的工具整合于开发环境,除了便利性,更重要的是数据库的程序开发,终于有了管理工具。过去 Stored Procedure丢上去 Try 看看的作法,现在有了测试和版本控管的机制,由此看来,两者确实有相互抬轿、彼此绑桩的效果。 不过,Stored Procedure 到底是延用 T-SQL,还是改采功能强大、可以处理复杂逻辑的 Visual Basic 和 C#撰写,就有很多层面的考虑。况且,企业既有的 SQL Server 是否升级到 2005 版又有很多影响因素,又将陷入一段长考。DONTNET 版的个人

47、博客实现143 3 需求分析需求分析3.1 研究设计中要解决的问题3.1.1 市场需求随着全球信息网络的发展,Internet 在世界上已不仅仅是一种技术,更重要的是它已成为一种新的经营模式。从 4C(Connection.,Communication ,Commerce ,Co-operation)层次上彻底改变了人类工作,学习,生活,娱乐的方式,已成为国家经济和区域经济增长的主要动力。Internet 正成为世界最大的公共资料信息库,它包含无数的信息资源,所有最新的信息都可以通过网络搜索获得。我们所要达到的目标和期望是能使用户能够通过网络尽情表达自己的思想,或者说技术,博客在满足客户使用的

48、同时也可以满足广告业务的发展,针对不同类别的博客而开启的广告内容将有效地加强广告的宣传效果。3.1.2 功能分析本博客使用 Visual Studio 2005 和 Microsoft SQL Server2005 来实现,其中包括浏览 BLOG 和 BLOG 管理系统两大部分,第一部分又分文章类别分类,文章分类,菜单导航,评论,评论加载,RSS,第二部分的管理中,用户可以对自己的信息进行修改,密码修改,文章内容修改,文章添加,当中可以进行图片信息的录入。3.1.3 性能分析(1)响应时间:一般操作的响应时间在 0.1-3 秒内(在硬件配置较高的情况下)(2)运行时间:0.1-3 秒内(在硬件

49、配置较高的情况下)(3)错误处理,在调试的时候加断点,用立即窗口进行调试或用 Debug.Print 输出到立即窗口。程序的错误处理,如果没有良好的错误处理,可能导致程序致辞命DONTNET 版的个人博客实现15错误而退出!我们需要错误处理的过程中加入 on error 语句进行错误处理。也可以写一个全局的错误处理模块! 另外当我们的页面被请求时,一旦请求出错,将调用系统中指定的报错页面,告诉用户出错信息。3.1.4 系统功能图通过对 BLOG 需求的了解以及对其具体功能的分析,实现该博客的总体功能图和各模块功能图的设计,如下:Home博客首页EssayArticleWorksCoursePh

50、otosAboutContackManageBlog修改密码修改文章添加文章用户登陆图 3-1 博客整体框架DONTNET 版的个人博客实现16左侧菜单导航NewsNavigationLinksMy GainedSite Info图 3-2 页面左侧菜单导航文章显示文章标题文章发表时间及浏览次数正文评论浏览添加评论图 3-3 文章显示结构用户文章管理titlepubtimeallowshowallowcommentcommentsviews文章管理removeedit图 3-4 用户对文章的管理DONTNET 版的个人博客实现17添加文章文章类型文章来源文章标题文章简介文章正文权限选择提交图

51、3-5 添加文章3.2 具体实现中采用的关键技术及复杂性分析3.2.1 系统结构该博客采用三层结构,将数据逻辑操作与业务逻辑独立开来,使系统层次清晰。分别建立 DataFormater 类,DataHelper 类, DataProvider 类 ,DbFormater 类,DbProvider 类,IDbFormater 类,IDbProvider 类, SQLHelper 类,用来处理数理逻辑。因为每一层都可以在仅仅更改很少量的代码后,就能放到物理上不同的服务器上使用,因此结构灵活而且性能更佳。此外,每层做些什么其它层是完全看不到的,因此更改、更新某层,都不再需要重新编译或者更改全部的层了

52、。这是个很强大的功能。例如,如果把数据访问代码与业务逻辑层分离,当数据库服务器更改后,你只需要更改数据访问的代码,因为业务逻辑层是不变的,因此不需要更改或者重新编译业务逻辑层。 一个 N 层的应用程序通常有三层:表现层、业务层和数据层。下面让我们看看每层都做些什么。 表现层(Presentation Layer): 表现层用于用户接口的展示,以及用业务层的类和对象来“驱动”这些接口。 DONTNET 版的个人博客实现18 在 ASP.NET 中,该层包括 aspx 页面、用户控制、服务器控制以及某些与安全相关的类和对象。 业务层(Business Tier):业务层用于访问数据层,从数据层取数

53、据、修改数据以及删除数据,并将结果返回给表现层。 在 ASP.NET 中,该层包括使用 SqlClient 或 OleDb 从 SQL Server 或 Access 数据库取数据、更新数据及删除数据,并把取得的数据放到 DataReader 或 DataSet 中返回给表现层。返回的数据也许只有一个整型数字,比如一个表的行记录数目,但这也要用数据层的数据进行计算。对系统中使用的图片,上传文件都相应对立独自的文件夹用于存放。由于该博客浏览部分都是自动加载的数据,很少使用到 JS 处理,所以没有把 JS 文件独立出来。而对整个页面的样式,采用 main.css 文件用于限制。博客各自页面的功能处

54、理直接在该页面文件的 aspx.cs 文件中处理,所需要用到的数据操作通过业务逻辑从数据库得到.数据层(Data Tier) :数据层是数据库或者数据源。在.NET 中,通常它是一个SQL Server 或 Access 数据库,但不仅限于此两种形式,它还可能是Oracle,mySQL,甚至是 XML。3.2.2 用户管理针对用户的管理,系统采用身份识别,只有用户正确登陆后才可以进行相关操作,同时对用户密码加密保存在数据库,使用 MD5 加密算法,对用户有选择保存密码的,经过检验后自动登陆。当时,当用户登陆修改相关信息,系统会自动记录该用户登陆时的 IP,并保存。对相对应的文章内容使用特殊处理

55、。以提高安全要求。3.2.3 页面结构页面分层实现,对经常使用部分采用用户控件,使页面自动加载用户控件。bottom.ascx 和 top.ascx,对 RSS 页面采用动态生成,即没有页面先前设计,根据从数据库取得的数据自动生成 RSS 页面。DONTNET 版的个人博客实现19页面总体结构是网站经常使用的总局,即最上面显示博客的头标题,以及博客显示字符和博客菜单导航,最左侧也是用到菜单导航,与最上的菜单不一样的是,左侧的是文章类别的导航,满足浏览用户对文章的查询以做到快速浏览.左侧才是文章的列表,或者说是文章的主题部分.下面是版权信息.而用户对文章的管理部分则是把页面分成两大部分,左侧是用

56、户功能菜单导航,右侧是具体功能实现部分.3.2.4 ASP.NET 对象的使用在使用 ASP.NET 进行设计过程中,我们将经常遇到它的几个对象4: 1 Request:可以访问关于请求 Web 页面的个人或进程的信息2 Response:提供一种方法,以准确控制如何将响应发送回发出请求的人那里3 Server:提供一系列有用的与 Web 相关的实用程序。4 Application:为经常使用的信息提供了一个有用的 Web 站点存储位置5 Session:可以为每个用户的会话存储信息。Request :Request 可以访问关于请求 Web 页面的个人或进程的信息。Request 对象可以从

57、个人的 Web 浏览器向我们有效的传递消息。比较有用的两个属性为:Cookies:通过这个属性可以查看访问者以前在本站的 cookiesQueryString:返回任何使用 GET 传输到页面的参数。Response :Response 提供一种方法,以准确控制如何将响应发送回发出请求的人那里。Response 对象可以访问即将发送回请求 Web 浏览器的 http 响应。常用属性:1Redirect:它将用户重定向到另一个页面2Write:将字符串写入 html 流。Server: Server 提供一系列有用的与 Web 相关的实用程序。常用属性:DONTNET 版的个人博客实现20Map

58、Path:此属性带有一个虚拟路径的参数比如 MapPath(“/webapp/myfile.aspx”),返回该文件在物理磁盘的准确位置状态处理:包括 Application,Session,Cookies主要要注意的有状态的作用域,状态存储位置,状态如何改变等。Application :Application 为经常使用的信息提供了一个有用的 Web 站点存储位置Application 中的信息可以被网站的所有页面访问。Application 的初始配置:在应用程序启动时配置初始状态,在 Global.asax 中配置protected void Application_Start(Obje

59、ct sender, EventArgs e) ApplicationUserCount = 0;使用 Lock 和 Unlock 避免两个页面同时修改状态Application.Lock();ApplicationUserCount = (int)ApplicationUserCount+1;Application.UnLock();Application 几点说明:1它用于经常使用的数据,如果只是偶尔使用,可以把信息存储在磁盘的文件中,大部分情况下,web.config 文件可以完成这个任务。2Application 对象是一个集合对象,它除了包含文本信息外,也可以存储对象。3.2.5 采

60、用了 UrlReWrite 技术在该博客的实现中,我采用了对浏览 URL 地址重写的技术.网址重写是实现一种截取网址请求并将其进行处理后重新指向到一个指定的网址的过程。在网址重写执行的期间,相应处理程序处理被请求的网址,从中提取出相关的值,然后重新指向一个新的指定地址。例如:由于一次网站目录调整,原有的 /people/ 子目录下的所有网页全部移动到/info/employees/目录,原访问者从收藏夹或者其他什么地方点击链接发出访问DONTNET 版的个人博客实现21/people/目录下的文件的请求时,你肯定希望他还是能通过原有地址看到和原来相同的页面,但实际上看到的却是网址重写指向的新目

61、录下的相应文件。 在老版本 ASP 中,使用网址重写技术的途径很少,要么写一个 ISAPI 过滤器,要么购买第三方厂商提供的网址重写组件,然而在微软提供的 ASP.NET 下你可以通过多种方法很简单地开发出自己的网址重写软件,以满足自己各种不同的需要。该论文讨论了这门针对 ASP.NET 开发人员的实现网址重写的技术,然后在博客中实现了网址重写。在实现网址重写技术的细节之前,我们先看一下日常使用网址重写技术实现的场景。网址重写技术不但可以在 IIS Web 服务器一级通过 ISAPI 过滤器实现,而且还可以在 ASP.NET 一级通过 HttpModule 或者 HttpHandler 实现。

62、本论文主要关注在 ASP.NET 一级实现网址重写技术,所以此时不必关注在ISAPI 应用程序中实现网址重写的技术细节,而且有很多第三方厂商提供的 ISAPI过滤器,比如 Helicon 的 ISAPI Rewrite; QwerkSoft 的 IIS Rewrite;Port80 的 PageXChanger; 等等。 在 ASP.NET 中实现网址重写很简单,只需调用 System.Web.HttpContext 类的RewritePath()方法即可。HttpContext 类中包含有关于特定 HTTP 请求的 HTTP 规范信息。ASP.NET 引擎每接收到一个特定请求后便针对该请求创

63、建一个特定的实例,这个类包含一些属性诸如:Request 和 Response 属性,分别提供对请求和响应的访问;Application 和 Session 属性提供对 Application 变量和 Session 变量的访问;User 属性提供对已授权用户信息的访问5。 在微软.NET Framework 1.0 版本中,RewritePath()方法接收一个新路径的简单字符串,在其内部 HttpContext 类的 RewritePath(string)方法内在地更新 Request 对象的路径和查询参数。除了 RewritePath(string)方法之外,.NET Framework

64、 1.1 版还提供了另外一些重载版本,其中一个重载版本接收三个输入字符串参数,这种交替的重载形式不仅仅只是设置 Request 对象的路径和查询参数这些属性,而是设置更深层的成员变量,这些成员变量用于为 PhysicalPath、PathInfo、FilePath 属性计算 Request 对象值。 为了实现 ASP.NET 中的网址重写,我们需要创建一个 HttpHandler 和DONTNET 版的个人博客实现22HttpModule 用于: 根据请求的路径决定所需要重写的路径;,重写路径,如果需要的话可以调用RewritePath 方法;,以前文所构建的那个站点为例,可以通过/info/

65、employee.aspx?empID=EmployeeID 来访问每一个雇员的信息。为了使这个网址更加地具有“隐蔽性” ,我们可能会使用更加容易理解的访问方式如:/people/雇员名.aspx。这里就有了一个网址重写的案例:当接收到对/people/ScottMitchell.aspx 的请求的时候,我们就得使用网址重写使得对该页面的请求被重写指向到先前使用的/info/employee?EmpID=1001 地址。 在 ASP.NET 一级来执行网址重写,既可以使用 HttpHandler,也可以使用HttpModule。当使用 HttpModule 的时候,必须决定如果该网址需要被重写

66、的话,究竟应该在整个请求的生命周期期间的那一个点来使用6。乍一看着有些武断,但是这个决定以重大而且微妙的方式影响到你的应用程序。之所以作出对网址重写点的选择是因为内嵌的 ASP.NET HttpModule 使用 Request 对象的属性值来完成自己的工作(回忆一下重写路径对 Request 对象的属性值的改变) ,这些内嵌 HttpModule 和相应事件的密切关系列举如下:HttpModule事件简介FormsAuthenticationModuleAuthenticateRequest判断用户是否已通过表单授权方式获取授权,如果没有的话则将用户重定向到指定的登录页面FileAuthorizationModuleAuthorizeRequest当使用 Windows 授权方式的时候,该 HttpModule 判断并确定该Microsoft Windows 帐户是否对其请求的资源拥有足够的权限UrlAuthorizationModuleAuthorizeRequest检查并确认请求者是否对所访问的网址拥有权限。该 Url 授权可以在web.config 文件的和元素中配置7DONT

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!