基于.net的新闻发布系统毕业论文

上传人:a**** 文档编号:137922675 上传时间:2022-08-19 格式:DOC 页数:62 大小:1.57MB
收藏 版权申诉 举报 下载
基于.net的新闻发布系统毕业论文_第1页
第1页 / 共62页
基于.net的新闻发布系统毕业论文_第2页
第2页 / 共62页
基于.net的新闻发布系统毕业论文_第3页
第3页 / 共62页
资源描述:

《基于.net的新闻发布系统毕业论文》由会员分享,可在线阅读,更多相关《基于.net的新闻发布系统毕业论文(62页珍藏版)》请在装配图网上搜索。

1、郑州大学西亚斯国际学院本科毕业论文(设计)题 目 指导教师 _吉星_职称_讲师_学生姓名 宋世明 学号 20061102126专 业 信息管理与信息系统班 级 2006级FH信息管理与信息系统1班院 (系) 国际教育学院完成时间 2010年5月3日摘要 不仅仅是下一版本的ASP(Active Server Pages,动态服务器页面),而且是建立动态Web应用程序而重新打造的全新技术,它是一个已编译的、基于.NET的开发环境。它提供了生成企业级应用程序所必需的全部服务,基于 .NET Framework 生成,整个框架都可用于任何 ASP.NET 应用程序,可以使用任何与公共语言运行库(CLR

2、)兼容的语言(包括、C# 和 JScript.NET)来创建应用程序。该系统使用ASP.NET(C#语言)和技术开发, 实现了网站新闻的动态管理,管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件,使得对信息的管理更加及时、高效,提高了工作效率。该系统具有一般新闻系统的功能,主要包括前台新闻查看区、后台管理区以及访客留言板系统,可为学校各部门发布新闻,为校园网站提供新闻发布与管理的服务。关键词 ASP.NET ADO.NET 新闻管理 Browser/ServerNEWS BRIEFING SYSTEM BASED ON .NET-ONATAGE DEMONSTRATIO

3、NAbstractASP.NET is not only the next generation of Active Server Pages, but also the new technology to develop dynamic Web application program. It is one that has already compiled, development environment based on .NET. It has offered and produced all essential services of application program of en

4、terprise layer, produce because of .NET Framework, the whole frame can be used in any ASP.NET application program. ASP.NET can use any to operate the compatible language (including Visual Basic.NET , C# and JScript .NET ) of storehouse (CLR ) to establish application program with common language . T

5、his news system uses ASP.NET (C#) and ADO.NET technological development, has realized the dynamic management of websites news, and administrators do not have to turn off the network server, or do not even have to stop running the application can update the application files. It makes the control ove

6、r information more prompt , more high-efficient , and it has improved working efficiency. This news system has general news function of system, mainly including front desk news person who look over, back-stage management area and guestbook system, can release news for every department of the school

7、, offer news briefing and management one service for campus website. Keywords ADO.NET News Management Browser/Server目 录中文摘要I英文摘要II1.引言12.研究背景2 国内外研究现状及发展趋势2 研究目的、意义和范围33 课题分析4 需求分析43.2 运行环境要求64 主要技术的介绍84.1 C#简介84.1.1 C#概述84.1.2 用C#能编写什么样的程序94.2 什么是.NET Framework104.2.1 .NET Framework概述104.2.2 使用.NET

8、 Framework进行应用程序开发144.3 ASP.NET简介184.3.1 ASP.NET 概述184.3.2 组成部分解析204.4 Visual Studio简介234.4.1 Visual Studio功能234.4.2 Visual Studio主要部分234.5 ADO.NET概述244.6 VB.Net概述265 系统结构流程27 新闻系统的模型结构27 新闻系统的功能模块简介27 前台显示模块306 新闻系统的主要开发过程31 数据库设计31各主要窗体页的图形界面介绍32 页面的风格设计356.4 系统部分重要功能及其代码366.4.1 Web用户控件366.4.2 通用类

9、代码366.4.3 添加发布新闻387 前台显示模块的实现40 前台显示模块实现的主要功能40各主要功能的技术实现及主要代码41 用户注册、登录的实现41 搜索新闻功能的实现43 显示最热门、最新的的前几条新闻的实现44 滚动图片新闻的实现457.2.5 显示所有新闻分类的实现47 按分类/部门显示其下的所有新闻48 新闻详细信息的浏览阅读497.2.8 其他部分功能的实现518 系统配置54文件配置54 配置发布主页549 总结55致 谢56参考文献57言信息高速公路是一种高速多媒体传输系统,它能在全球甚至更大的范围内传输声像图文并茂的多媒体信息。由美国首先提出的“信息高速公路”是指数字化大

10、容量光纤通信网络,用以把政府机构、企业、大学、科研机构和家庭的计算机联网。一些国家和公司还提出利用卫星架设“空中信息高速公路”的设想(北京科普之窗,2000)。这一时代的到来使得新闻在网络中传输成为可能。今天上网看新闻已经是人们日常生活的一部分,快速及时的浏览新闻,能拓展人们的生活视野。因此越来越多的企事业单位都很重事新闻网站的建设。使用新一代的ASP.NET技术来组建的新闻发布系统更表现出其强大的优越性。ASP.NET是微软公司最新推出的一种统一Web开发平台,与最新的数据访问技术ADO.NET一起可构建出强大、安全和可靠的企业级Web应用程序。它是一种使嵌入网页中的脚本可由因特网服务器执行

11、的服务器端脚本技术, 指 Active Server Pages(动态服务器页面),运行于 IIS 之中的程序1。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。 当创建 ASP.NET 应用程序时,开发人员可以使用

12、 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义.2研究背景 国内外研究现状及发展趋势 目前,新闻发布系统的技术已经十分成熟,用到的技术很多,比如说ASP技术,PHP技术,JSP技术,.NET技术等,成熟的新闻发布系统有很多,比如著名的V7 Content Management Suite(西门子公司采用的系统),Interwoven-Teamsite(Cisco 采用的系统),以及开源的产品也得到广泛的应用,如OpenCMS, Zope-Cont

13、ent Management Framework等 传统的网站新闻管理方式有两种23:一种是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用;另一种是基于ASP和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行的做法。但是由于ASP技术本身的局限性使得系统有一些不可克服的缺陷。ASP.NET不仅仅是下一版本的ASP(Active Server Pages,动态服务器页面),而且是建立动态Web应用程序而重新打造的全新技术4,其主要特色包括:u 语言的独立性;u 简单的开发操作,分离程序代码和网页内容;u 提高了执行效

14、率;u 简化部署与组态的操作;u 支持客户端类型;u 支持下一代的Web服务;u 增进适用性;u 增进延展性;u 更多的支持工具;u 更佳的安全机制;u 会话(Session)可以跨进程、跨机器。由于ASP.NET的众多优点,技术发展和各种客观实际的需要,该系统选用了ASP.NET来开发设计,实现了对校园新闻的动态管理操作,使得对新闻信息的发布与管理更加及时、高效,提高了工作效率。 研究目的、意义和范围随着Internet的普及,越来越多的企业建立了自己的WWW网站,企业通过网站可以展示产品,发布最新动态信息,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。其中新闻管理系统是构成

15、企业网站的一个重要组成部分,它担负着双层作用:一方面可以用来动态发布有关新产品或新开发项目;另一方面又可以及时向顾客公告企业经营业绩、技术与研发进展、特别推荐或优惠的工程项目、产品和服务,从而吸引顾客,扩大顾客群。该系统使用ASP.NET(C#语言)和ADO.NET技术开发, 实现了网站新闻的动态管理,使得对信息的管理更加及时、高效,提高了工作效率。该新闻系统具有一般新闻系统的功能,主要包括前台新闻查看区和后台管理区,可为学校各部门发布新闻,为校园网站提供新闻发布与管理的服务。该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于.NET平台架构开发设计,主要实现对校

16、园新闻的发布与管理功能,对新闻内容信息的浏览阅读等。随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于B/S模式的新一代MIS(Management Information System,管理信息系统)系统,正成为技术发展的趋势。为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。3 课题分析 需求分析该系统的用户为校园网站,需要经常发布一些新闻,如何能有效地管理和发布新闻呢?最初用户的需求为:“该新闻系统具有一般新闻系统的功能,同时具有新闻审核和不同管理员不同管理权限

17、的功能”。通过对其它一些新闻系统的调查发现,一般新闻系统功能如下: 前台按分类显示新闻(主要是实现新闻的浏览、对新闻进行评论、用户注册等功能); 搜索新闻; 后台管理:l 添加、删除和修改新闻l 添加、删除和修改用户l 添加、删除和修改新闻分类l 添加新闻(添加成功后的新闻根据管理员权限分为可发布新闻和待审核新闻)需要新闻审核,说明添加后的新闻分为两种:直接发布新闻和待审核新闻,同时待审核的新闻通过管理员或审核员经审核后才可以上传到网站,管理员有不同的权限,需要有个管理权限的功能,在系统中应该有个超级管理员,具有所有权限,能够对系统进行全面管理,同时管理员可以修改自己的一些信息。通过对现实的调

18、查与研究,获知在该系统中需确立查看新闻、管理新闻和留言板三大功能模块,具体内容如下:在首页中能显示用户注册、新闻分类、最热门新闻、头条新闻和最新新闻、图片新闻等,同时在后台发布新闻时可以添加图片,也可以添加HTML语法,在前台能自动根据所显示的图片和HTML语法来显示新闻。在后台管理中,因为有权限的管理员才能登录管理后台,所以需要有个登录验证模块,而且需要根据用户权限的不同显示不同的管理目录,在管理新闻和用户时,当数据少时管理起来还比较方便,如果一多则想找到某条新闻或某个用户就很难,所以需要有个查找(新闻标题、用户)模块用于查找新闻或用户。在留言板部分中,用户可以发表留言,管理员的登陆操作、回

19、复留言和删除留言,以及一些其他特色功能。根据以上需求分析,该系统要实现的主要功能为: 前台显示新闻部分l 用户登录区l 显示最热门的前几条新闻l 显示推荐的前几条新闻l 搜索新闻功能l 显示所有新闻分类(即部门)l 按分类/部门显示其下的所有新闻l 新闻详细信息浏览阅读l 图片新闻(自动生成缩略图)以滚动形式在首页显示且只显示前几条l 网站友情链接(可在管理中添加设置)l 网站公告可显示发布了新闻但没通过审核的一些相关通知等 后台管理部分l 登录验证l 根据权限显示相应的管理目录l 添加、修改和删除新闻l 管理发布新闻l 管理审核新闻l 分类管理l 用户管理l 网站风格设置、系统设置等 留言板

20、部分l 用户可以浏览过往的留言l 用户可以发表留言l 用户留言信息出错提示l 用户设置自己的相关信息l 网站管理人员输入密码进行登录l 网站管理人员对留言进行恢复或者删除l 网站管理人员对网站的系统、样式进行设置l 系统可以判别用户的信息,并给出错误提示l 系统登录验证l 系统可以判别留言者的IP地址,并显示在该留言旁边该系统在性能功能上应达到如下需求: 操作简单、界面友好: 完全控件式的页面布局,使得新闻的录入工作更简便,许多选项包括新闻分类、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见网站的新闻管理的各个方面:新闻录入、浏览、删除、修改

21、、搜索等方面都大体实现,实现了网站对即时新闻的管理要求; 即时可见:对新闻的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能; 系统运行应该快速、稳定、高效和可靠; 在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。3.2 运行环境要求 设备要求:客户机硬件要求5:具有 Pentium III 处理器以上且满足以下要求的计算机:最低 64 MB 内存,最小 2.1 GB 硬盘。服务器硬件要求:具有 Pentium III 处理器以上且满足以下要求的计算机:最低 256MB 内存,最小 8 GB 硬盘。支持程序6: 客户端l 操作系统:Windo

22、ws 98/NT/2000/XP或更高版本l 浏览器:以上或Netscape同等版本以上 服务器l 操作系统:Windows 2000 Server或者Windows 2003 Serverl Web服务器:MS IISl 应用服务器:IIS、COM+等企业级应用服务器l 数据库:ACCESS 4 主要技术的介绍4.1 C#简介什么是C#C#是从C和C+语言演化而来,是Microsoft专门为使用.NET平台而创建的。因为C#是近期发展起来的,所有吸取了以前的教训,考虑了其他语言的许多优点,并解决了他们的问题7。lC#是一种安全的、稳定的、简单的、优雅的语言。它在继承C和C+强大功能的同时去掉

23、了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。并且C#成为ECMA与ISO标准规范。C#看似基于C+写成,但又融入其它语言如Delphi、Java、VB等。使用C开发应用程序比使用C+简单。但是,C#是一种强大的语言,在C+中能完成的任务利用C+也能完成。C#中与C+比较高级的功能等价的功能(例如直接访问和处理系统内存),只能在标记为“不安全”的代码中使用。这个高级编程技术是非常危险的(正如它的名称),因为它可能覆盖系统中重要的内

24、存块,导致严重的后果。C#代码常常比C+略长一些。这是因为C#是一种类型安全的语言(与C+不同)。在外行人看来,这表示一旦为某些数据指定了类型,就不能转换为另一个不相关的类型。所以,在类型之间转换时,必须严格遵守规则。执行相同的任务时,用C#编写的代码通常比C+长。但C#代码更健壮,调试也比较方便,.NET总是可以随时跟踪数据的类型。在C#中,不不能完成诸如“把4个字节的内存放在这个数据中,使之有10个字节长,并把它解释为X”等任务,但这并不是一件坏事。C#从C和C+中继承了:编译、结构体、预编译、操作符重载的的特点,其本身又有自己独有的特点8:u 中间代码u 命名空间中的申明u 两个基本类u

25、 基本的数据类型 u 参数传递 u 与COM的集成 u 索引下标 u 代理和反馈C#只是.NET开发的一种语言,但它比其它语言更优越,它是唯一为.NET Framework设计的语言,是在一直到其它操作系统上的.NET版本中使用的主要语言。要使语言如VB.NET尽可能类似于以前的语言,且仍遵守CLR,就不能完全支持.NET代码库的某些功能。但C#能使用.NET Framework代码库提供的每种功能。.NET的最新版本还对C#语言进行了几处改进,这是为了满足开发人员的要求,使之更强大。用C#能编写什么样的程序如前所述,.NET Framework没有限制应用程序的类型。C#使用.NET Fra

26、mework,所以也没有现在应用程序的类型。这里仅讨论几种常见的应用程序类型7。u Windows应用程序 这些应用程序如Microsoft Office,有我们很熟悉的Windows外观和操作方式,使用.NET Framework的Windows Forms 模块就可以生产这种应用程序。Windows Forms模块是一个控件库,其中的控件(例如按钮、工具栏、菜单等)可以用于建立Windows用户界面(UI)。u Web应用程序这些事Web页,可以通过任何Web浏览器查看。.NET Framework包括一个动态生产Web内容的强大系统,允许个性化、实现安全性等。这个系统叫做Active S

27、erver Pages.NET(ASP.NET),我们可以使用C#通过Web Forms创建ASP.ENT应用程序。u Web服务这是创建各种分布式应用程序的新方式,使用Web服务可以通过Internet虚拟交换数据。无论使用什么语言创建Web服务,也无论Web服务驻留在什么系统上,都使用一样简单的语法。 这些类型也需要某种形式的数据库访问,这可以通过.NET Framework的Active Data Objects.NET(ADO.ENT)部分来实现。也可以使用许多其他的资源,例如创建联网组件、输出图形、执行复杂数学任务的工具。4.2 .什么是.NET Framework4.2.1.NET

28、 Framework概述 .NET Framework 是用于 .NET 平台的编程模型,其关键组件是公共语言运行库(CLR,Common Language Runtime)和 .NET Framework 类库(包括 ADO.NET、ASP.NET 和 Windows 窗体),它提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成,是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。.NET Framework 旨在实现下列目标9:u 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet

29、 上分布,或者是在远程执行的;u 提供一个将软件部署和版本控制冲突最小化的代码执行环境;u 提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境;u 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境;u 使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致;u 按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。.NET Framework 具有两个主要组件10:公共语言运行库和 .NET Framework 类库。公共语言运行库是 .NE

30、T Framework 的基础。用户可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,用户可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML We

31、b Services)。.NET Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET Framework 不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。例如,ASP.NET 承载运行库以为托管代码提供可伸缩的服务器端环境。ASP.NET 直接使用运行库以启用 ASP.NET 应用程序和 XML Web Services。Internet Explorer 是承载运行库(以 MIME 类型扩展的形式)的非托管应用程序的一个示例。使用 Internet Explorer

32、承载运行库使用户能够在 HTML 文档中嵌入托管组件或 Windows 窗体控件。以这种方式承载运行库使得托管移动代码(类似于 Microsoft ActiveX 控件)成为可能,不过它需要进行重大改进(如不完全受信任的执行和独立的文件存储),而这种改进只有托管代码才能提供。下面的插图4-1显示了公共语言运行库和类库与应用程序之间以及与整个系统之间的关系。该插图还显示托管代码如何在更大的结构内运行。图4-1公共语言运行库和类库与应用程序之间以及与整个系统关系图下面简单的介绍一下公共语言运行库和 .NET Framework 类库。公共语言运行库是管理内存、线程执行、代码执行、代码安全验证、编译

33、以及其他系统服务。这些功能是在公共语言运行库上运行的托管代码所固有的。至于安全性,取决于包括托管组件的来源(如 Internet、企业网络或本地计算机)在内的一些因素,托管组件被赋予不同程度的信任。这意味着即使用在同一活动应用程序中,托管组件既可能能够执行文件访问操作、注册表访问操作或其他须小心使用的功能,也可能不能够执行这些功能。运行库强制实施代码访问安全。例如,用户可以相信嵌入在网页中的可执行文件能够在屏幕上播放动画或唱歌,但不能访问他们的个人数据、文件系统或网络。这样,运行库的安全性功能就使通过 Internet 部署的合法软件能够具有特别丰富的功能。运行库还通过实现称为通用类型系统 (

34、CTS) 的严格类型验证和代码验证基础结构来加强代码可靠性。CTS 确保所有托管代码都是可以自我描述的。各种 Microsoft 和第三方语言编译器生成符合 CTS 的托管代码。这意味着托管代码可在严格实施类型保真和类型安全的同时使用其他托管类型和实例。此外,运行库的托管环境还消除了许多常见的软件问题。例如,运行库自动处理对象布局并管理对对象的引用,在不再使用它们时将它们释放。这种自动内存管理解决了两个最常见的应用程序错误:内存泄漏和无效内存引用。运行库还提高了开发人员的工作效率。例如,程序员可以用他们选择的开发语言编写应用程序,却仍能充分利用其他开发人员用其他语言编写的运行库、类库和组件。任

35、何选择以运行库为目标的编译器供应商都可以这样做。以 .NET Framework 为目标的语言编译器使得用该语言编写的现有代码可以使用 .NET Framework 的功能,这大大减轻了现有应用程序的迁移过程的工作负担。尽管运行库是为未来的软件设计的,但是它也支持现在和以前的软件。托管和非托管代码之间的互操作性使开发人员能够继续使用所需的 COM 组件和 DLL。运行库旨在增强性能。尽管公共语言运行库提供许多标准运行库服务,但是它从不解释托管代码。一种称为实时 (JIT) 编译的功能使所有托管代码能够以它在其上执行的系统的本机语言运行。同时,内存管理器排除了出现零碎内存的可能性,并增大了内存引

36、用区域以进一步提高性能。最后,运行库可由高性能的服务器端应用程序(如 Microsoft SQL Server 和 Internet 信息服务 (IIS))承载。此基础结构使用户在享受支持运行库宿主的行业最佳企业服务器的优越性能的同时,能够使用托管代码编写业务逻辑。.NET Framework 类库是一个与公共语言运行库紧密集成的可重用的类型集合。该类库是面向对象的,并提供用户自己的托管代码可从中导出功能的类型。这不但使 .NET Framework 类型易于使用,而且还减少了学习 .NET Framework 的新功能所需要的时间。此外,第三方组件可与 .NET Framework 中的类无

37、缝集成。例如,.NET Framework 集合类实现一组可用于开发用户自己的集合类的接口。用户的集合类将与 .NET Framework 中的类无缝地混合。正如用户对面向对象的类库所希望的那样,.NET Framework 类型使用户能够完成一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)。除这些常见任务之外,类库还包括支持多种专用开发方案的类型11。例如,可使用 .NET Framework 开发下列类型的应用程序和服务: u 控制台应用程序。u Windows GUI 应用程序(Windows 窗体)。u ASP.NET 应用程序。u XML Web Se

38、rvices。u Windows 服务。例如,Windows 窗体类是一组综合性的可重用的类型,它们大大简化了 Windows GUI 的开发。如果要编写 ASP.NET Web 窗体应用程序,可使用 Web 窗体类。使用.NET Framework进行应用程序开发使用.NET Framework编写应用程序,就是使用.NET代码库编写代码(使用支持Framework的任何一种语言),例如Visual Studio, VS是一种强大的集成开发环境,支持C#(以及托管和非托管C+、Visual Basic和其他的一些语言)。这个环境的优点是便于把.NET功能集成到代码中。为了执行C#代码,必须把

39、他们转换成为目标操作系统能够理解的语言,即本机代码,这种转换成为编译代码,由编译器执行。但在.NET Framework下,这个过程分为连个阶段7。1. MSIL和JIT在编译使用.NET Framework库的代码时,不是立即创建操作系统特定的本机代码,而是把代码编译为Microsoft中间语言(Microsoft Intermediate Language, MSIL)代码,这些代码不专用于任何一种操作系统,也不专用于C#。其他的.NET语言,如Visual Basic.NET也可以在第一阶段编译成为这种语言,当使用VS开发C#应用程序时,编译过程就由VS完成。显然,要执行应用程序,必须完

40、成更多的工作,这是Just-In-Time(JIT)编译器的任务,它把MSIL编译为专用于OS和目标机器结构的本机代码。这样OS才能执行应用程序。这里编译器的名称Just-In-Time反映了MSIL尽在需要时才编译的事实。过去,常常需要把代码编译为几个应用程序,每个应用程序都用于特定的操作系统和CPU结构。这通常是一种优化形式(例如,为了让代码在AMD芯片上运行得更快),但有时候是非常重要的(例如对于工作在Win9x和WinNT/2000环境下的应用程序)。现在就不必要了,因为顾名思义,JIT编译器使用MSIL代码,而MSIL代码独立于机器、操作系统和CPU的。目前有几种JIT编译器,每种编

41、译器都用于不同的结构,我妈总能找到一个适合的编译器创建所需要的本机代码。这样,用户需要做的工作就比较少了。实际上,可以不考虑于系统相关的细节,把注意力放在代码的功能上就够了。2程序集在编译应用程序时,所创建的MSIL代码存储在一个程序集中,程序集包括可以执行的应用程序文件(这些文件可以直接在Windows上运行,不需要其他程序,其扩展名也是.exe)和其他应用程序使用的库(其扩展名是.dll).除了包含MSIL外,程序集还包含元信息(即程序集中包含的数据信息,也成为元数据)和可选的资源(MSIL使用的其他数据,例如声音文件和图片)。元信息允许程序集是完全自我描述的。不需要其他的信息就可以使用程

42、序集,也就是说,我们不会遇到如下情形:不能把需要的数据添加到系统注册表中,而这种情形在使用其他平台进行开发时常常出现。因此,部署应用程序就很简单了,只需要把文件复制到远程的计算机上的目录下酒可以了。因为不需要目标系统上的其他信息,所以只需要从该目录中运行可执行文件即可(假定安装了.NET CLR)。当然,不必把运行应用程序所需的所有信息都安装到一个地方。可以编写一些代码,执行多个应用程序所要求的任务。此时,通常把这些可重用的代码放在所有应用程序都可以访问的地方。在.NET Framework中,这个地方是全局程序集高速缓存(Global Assembly Cache, GAC),把代码放在这个

43、高速缓存中很简单,只需要把包含代码的程序集放在该高速缓存的目录下即可。3托管代码在把代码编译为MSIL,再用JIT编译器把它编译为本机代码后,CLR的任务还没有全部完成。用.NET Framework编写的代码在执行(这个阶段通常称为运行时(runtime))时是托管的。即CLR管着应用程序,其方式是管理内存、处理安全性,以及允许进行跨语言调试等。相反,不在CLR控制之下的应用程序是非托管的,某些语言如C+可以用于编译写这类应用程序,例如。访问操作系统的低级功能。但是,在C#中,只能编写在托管环境下运行的代码。我妈将使用CLR的托管功能,让.ENT自己与操作系统进行交互。4. 垃圾回收托管代码

44、最重要的一个功能是垃圾回收(garbage collection)。这种.NET方法可确保应用程序不再使用某些内存时,这内存完全释放。在NET推出以前,这项工作主要由程序员负责,代码中的几个简单错误会把大块内存分配到错误的地方,使这些内存神秘失踪。这通常意味着计算机的速度逐渐减慢,最终导致崩溃。.NET垃圾回收会频繁检查计算机内存,从中删除不需要的内容。它没有设置时间帧,可能一秒钟内会进行上千次的检查,也可能几秒钟检查一次,或者随时进行检查,但可以肯定进行了检查。这里要给程序员一些提示。因为这项工作在不可预知的时间进行,所以在设计应用程序时,必须记得要进行这样的检查。需要许多内存才能进行的代码

45、应自己执行这样的检查,而不是坐等垃圾回收,但这不像听起来那样难。5. 把它们组合在一起在继续学习之前,先总结一下上述创建.ENT应用程序需要的步骤:首先,使用某种.ENT兼容语言(如C#)编写应用程序代码;其次,把代码编译为MSIL,存储在程序集中;再次,在执行代码时(如果这是一个可执行文件,就自动运行,或者在其他代码使用它时运行)必须使用JIT编译器将代码编译为本机代码;最后,在托管的CLR环境下运行本机代码,以及其他应用程序或过程。6. 连接在上述过程中还要有一点要注意。在上述第二步中编译为MSIL的C#代码不一定包含在单独的文件中,可以把应用程序代码放在多个源代码文件中,再把它们编译到一

46、个程序集中。这个过程成为连接,是非常有用的。原因是处理几个较小的文件比处理一个大文件要简单的多。可以把逻辑上相关的代码分解到一个文件中,以便单独处理它,这也更易于在需要代码时找到它们,让开发小组把编程工作分解为可管理的块,让每个人编写一小块代码,而不会破坏已编写好的代码部分或其他人正在处理的部分。在托管领域中,服务器端应用程序是通过运行库宿主实现的。非托管应用程序承载公共语言运行库,后者使您的自定义托管代码可以控制服务器的行为。此模型在获得主服务器的性能和可伸缩性的同时提供给您公共语言运行库和类库的所有功能12。下面的插图4-2显示在不同服务器环境中运行托管代码的基本网络架构。在应用程序逻辑通

47、过托管代码执行时,服务器(如 IIS 和 SQL Server)可执行标准操作。图4-2 运行托管代码的基本网络架构ASP.NET 是使开发人员能够使用 .NET Framework 开发基于 Web 的应用程序的宿主环境。但是,ASP.NET 不止是一个运行库宿主;它是使用托管代码开发网站和通过 Internet 分布的对象的完整结构。Web 窗体和 XML Web Services 都将 IIS 和 ASP.NET 用作应用程序的发布机制,并且两者在 .NET Framework 中都具有支持类集合。XML Web Services 作为基于 Web 的技术的重要发展,是类似于常见网站的分

48、布式服务器端应用程序组件。但是,与基于 Web 的应用程序不同,XML Web Services 组件不具有 UI 并且不以浏览器(如 Internet Explorer 和 Netscape Navigator)为目标。XML Web Services 由旨在供其他应用程序使用的可重用的软件组件组成,所谓的其他应用程序包括:传统的客户端应用程序,基于 Web 的应用程序,甚至是其他 XML Web Services。因此,XML Web Services 技术正迅速地将应用程序开发和部署推向高度分布式 Internet 环境。如果用户使用过 ASP 技术的早期版本,很快就会注意到 ASP.N

49、ET 和 Web 窗体提供的改进。例如,您可以用支持 .NET Framework 的任何语言开发 Web 窗体页。此外,用户的代码不再需要与 文本共享同一个文件(尽管如果您愿意,代码还可以继续这样做)。Web 窗体页用本机语言执行,这是因为与所有其他托管应用程序一样,它们充分利用运行库。与此相对照,非托管 ASP 页始终被写成脚本并解释。ASP.NET 页比非托管 ASP 页更快、更实用并且更易于开发,这是因为它们像所有托管应用程序一样与运行库进行交互。.NET Framework 还提供类和工具的集合来帮助开发和使用 XML Web Services 应用程序。XML Web Servic

50、es 是基于 SOAP(一种远程过程调用协议)、XML(一种可扩展的数据格式)和 WSDL(Web 服务描述语言)这些标准生成的。基于这些标准生成 .NET Framework 的目的是为了提高与非 Microsoft 解决方案的互操作性。例如,.NET Framework SDK 所包含的 Web 服务描述语言工具可以查询在 Web 上发布的 XML Web Services,分析它的 WSDL 描述,并产生 C# 或 Visual Basic 源代码,用户的应用程序可以使用这些代码而成为 XML Web Services 的客户端。这些源代码可以创建从类库中的类派生的类,这些类使用 SOA

51、P 和 XML 分析处理所有基础通信。虽然用户可以使用类库来直接使用 XML Web Services,Web 服务描述语言工具和包含在 SDK 中的其他工具可以使您更加方便地用 .NET Framework 进行开发。如果用户开发和发布自己的 XML Web Services,.NET Framework 为您提供了一组符合所有基础通信标准(如 SOAP、WSDL 和 XML)的类。使用这些类使用户能够将注意力集中在服务的逻辑上,而无需关注分布式软件开发所需要的通信基础结构。最后,与托管环境中的 Web 窗体页相似,用户的 XML Web Services 将使用 IIS 的可伸缩通信以本机

52、语言的速度运行。4.34.3.1 ASP.NET 概述ASP.NET 是一个统一的 Web 开发模型,它包括您使用尽可能少的代码生成企业级 Web 应用程序所必需的各种服务。ASP.NET 作为 .NET Framework 的一部分提供。当您编写 ASP.NET 应用程序的代码时,可以访问 .NET Framework 中的类4。您可以使用与公共语言运行库 (CLR) 兼容的任何语言来编写应用程序的代码,这些语言包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的 ASP.NET

53、应用程序。ASP.NET 包括:u 页和控件框架u ASP.NET 编译器u 安全基础结构u 状态管理功能u 应用程序配置u 运行状况监视和性能功能u 调试支持u XML Web services 框架u 可扩展的宿主环境和应用程序生命周期管理u 可扩展的设计器环境采取了ASP.NET技术的系统在性能上有了很大的改善,主要表现在以下几方面13: u 由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。这使得在多次访问时速度有了极大的提升;u ;u ,管理员不必关掉

54、网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖,当文件更新后,系统会温和地转换到新的版本;u ASP.NET采取CodeBehind(代码分离)技术方式编写代码使得代码更易于编写,结构更清晰,降低了系统开发与维护的复杂度和费用。4.3.2u 页和控件框架ASP.NET 页和控件框架是一种编程框架,它在 Web 服务器上运行,可以动态地生成和呈现 ASP.NET 网页。可以从任何浏览器或客户端设备请求 ASP.NET 网页,ASP.NET 会向请求浏览器呈现标记(例如 HTML)。通常,您可以对多个浏览器使用相同的页,

55、因为 ASP.NET 会为发出请求的浏览器呈现适当的标记。但是,用户可以针对诸如 Microsoft Internet Explorer 6 的特定浏览器设计 ASP.NET 网页,并利用该浏览器的功能。ASP.NET 支持基于 Web 的设备(如移动 、手持型计算机和个人数字助理 (PDA))的移动控件。 ASP.NET 网页是完全面向对象的。在 ASP.NET 网页中,可以使用属性、方法和事件来处理 HTML 元素。ASP.NET 页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于 Web 的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生

56、命周期中自动维护页及该页上控件的状态14。使用 ASP.NET 页和控件框架还可以将常用的 UI 功能封装成易于使用且可重用的控件。控件只需编写一次,即可用于许多页并集成到 ASP.NET 网页中。这些控件在呈现期间放入 ASP.NET 网页中。ASP.NET 页和控件框架还提供各种功能,以便可以通过主题和外观来控制网站的整体外观和感觉。可以先定义主题和外观,然后在页面级或控件级应用这些主题和外观。除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后可以创建包含要显示的页特定内容的各个内容页。当用户请

57、求内容页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在一起的输出。u ASP.NET 编译器编译器:所有 ASP.NET 代码都经过了编译,可提供强类型、性能优化和早期绑定以及其他优点。代码一经编译,公共语言运行库会进一步将 ASP.NET 编译为本机代码,从而提供增强的性能。ASP.NET 包括一个编译器,该编译器将包括页和控件在内的所有应用程序组件编译成一个程序集,之后 ASP.NET 宿主环境可以使用该程序集来处理用户请求。u 安全基础结构除了 .NET 的安全功能外,ASP.NET 还提供了高级的安全基础结构,以便对用户进行身份验证和授权,并执行其他与安全相关的功

58、能。用户可以使用由 IIS 提供的 Windows 身份验证对用户进行身份验证,也可以通过用户自己的用户数据库使用 ASP.NET Forms 身份验证和 ASP.NET 成员资格来管理身份验证。此外,可以使用 Windows 组或用户自己的自定义角色数据库(使用 ASP.NET 角色)来管理 Web 应用程序的功能和信息方面的授权。您可以根据应用程序的需要方便地移除、添加或替换这些方案。ASP.NET 始终使用特定的 Windows 标识运行,因此,用户可以通过使用 Windows 功能(例如 NTFS 访问控制列表 (ACL)、数据库权限等等)来保护应用程序的安全15。u 状态管理功能AS

59、P.NET 提供了内部状态管理功能,它使您能够存储页请求期间的信息,例如客户信息或购物车的内容。您可以保存和管理应用程序特定、会话特定、页特定、用户特定和开发人员定义的信息。此信息可以独立于页上的任何控件。ASP.NET 提供了分布式状态功能,使您能够管理一台计算机或数台计算机上同一应用程序的多个实例的状态信息。u 应用程序配置通过 ASP.NET 应用程序使用的配置系统,可以定义 Web 服务器、网站或单个应用程序的配置设置。您可以在部署 ASP.NET 应用程序时定义配置设置,并且可以随时添加或修订配置设置,且对运行的 Web 应用程序和服务器具有最小的影响。ASP.NET 配置设置存储在

60、基于 XML 的文件中。由于这些 XML 文件是 ASCII 文本文件,因此对 Web 应用程序进行配置更改比较简单。您可以扩展配置方案,使其符合自己的要求。u 运行状况监视和性能功能ASP.NET 包括可监视 ASP.NET 应用程序的运行状况和性能的功能。使用 ASP.NET 运行状况监视可以报告关键事件,这些关键事件提供有关应用程序的运行状况和错误情况的信息。这些事件显示诊断和监视特征的组合,并在记录哪些事件以及如何记录事件等方面提供了高度的灵活性。u 调试支持ASP.NET 利用运行库调试基础结构来提供跨语言和跨计算机调试支持。可以调试托管和非托管对象,以及公共语言运行库和脚本语言支持

61、的所有语言。有关详细信息,请参见 ASP.NET 调试。此外,ASP.NET 页框架提供使您可以将检测消息插入 ASP.NET 网页的跟踪模式16。u XML Web services 框架ASP.NET 支持 XML Web services。XML Web services 是包含业务功能的组件,利用该业务功能,应用程序可以使用 和 XML 消息等标准跨越防火墙交换信息。XML Web services 不用依靠特定的组件技术或对象调用约定。因此,用任何语言编写、使用任何组件模型并在任何操作系统上运行的程序,都可以访问 XML Web services。u 可扩展的宿主环境和应用程序生命周

62、期管理ASP.NET 包括一个可扩展的宿主环境,该环境控制应用程序的生命周期,即从用户首次访问此应用程序中的资源(例如页)到应用程序关闭这一期间。虽然 ASP.NET 依赖作为应用程序宿主的 Web 服务器 (IIS),但 ASP.NET 自身也提供了许多宿主功能。通过 ASP.NET 的基础结构,您可以响应应用程序事件并创建自定义 处理程序和 模块。u 可扩展的设计器环境ASP.NET 中提供了对创建 Web 服务器控件设计器(用于可视化设计工具,例如 Visual Studio)的增强支持。使用设计器可以为控件生成设计时用户界面,这样开发人员可以在可视化设计工具中配置控件的属性和内容。4.

63、4 Visual Studio 简介 Visual Studio功能Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术7。它能够创建满足关键性要求的多层次的智能客户端、Web、移动或基于Microsoft Office的应用程序。使用Visual Studio 2005, 专业开发人员能够: u 使用改进后的可视化设计工具、编程语言和代码编辑器,

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