ASP.NET 体系结构PPT演示课件_第1页
ASP.NET 体系结构PPT演示课件_第2页
ASP.NET 体系结构PPT演示课件_第3页
ASP.NET 体系结构PPT演示课件_第4页
ASP.NET 体系结构PPT演示课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息工程系赖小平,ASP.NET体系结构,1,2,复习,ASP.NET开发步骤和开发方法,3,目标,了解ASP.NET2.0的特点;熟悉.NET框架的体系结构;熟悉.NET框架类库和名称空间的使用;掌握ASP.NET应用程序的组成。,4,主要内容,一、ASP.NET2.0简介二、.NET框架介绍体系结构.NET应用程序的编译过程.NET框架类库名称空间(Namespace)三、ASP.NET2.0的逻辑结构与代码模式四、ASP.NET2.0应用程序的组成.aspx或.ascx文件;.cs代码文件;Web.config应用程序配置文件,5,ASP.NET2.0简介,进入21世纪以来,微软公司鲜明地提出.NET的发展战略,确定了创建下一代Internet平台的目标。作为下一代Internet的平台应该实现以下要求:(1)为各种类型的客户服务。不仅能为现有的计算机、手提式计算机、移动电话等客户服务,还要能为未来可能加入Internet的智能设备(如电视机、电冰箱、洗衣机等)提供服务。(2)强大的交互和运算能力。(3)跨平台交换数据的能力。(4)快速设计和部署的能力。(5)强有力的信息安全保障能力。,6,ASP.NET版本,微软于2000年推出了基于.NET框架的ASP.NET1.0版本,2002年推出了ASP.NET1.1版本,2005年年底又推出了ASP.NET2.0版本。ASP.NET是在ASP的基础上发展起来的,但它不只是ASP的升级,而且是重新构筑的一个全新的系统。,7,ASP.NET的最大特点,ASP.NET是建立在.NET框架平台上的完全面向对象的系统。ASP.NET与.NET框架平台紧密结合是ASP.NET的最大特点。.NET框架平台给网站提供了全方位的支持,这些支持包括以下方面。(1)强大的类库。利用类库中的类可以生成对象组装程序,以实现快速开发、快速部署的目的。(2)多方面服务的支持,如智能输出(对不同类型的客户自动输出不同类型的代码)、内存的碎片自动回收、线程管理、异常处理等。(3)允许利用多种语言对应用进行开发。(4)跨平台的能力。(5)充分的安全保障能力。,8,.NET框架介绍,.NET框架的体系结构包括5大部分:程序设计语言及公共语言规范(CLS)应用程序平台(ASP.NET及Windows应用程序等)ADO.NET及类库公共语言运行库(CLR)程序开发环境(VisualStudio),9,公共语言运行时CLR,构建在Windows操作系统之上的是公共语言运行时,负责执行程序,提供内存管理、线程管理、安全管理、异常处理、通用类型系统与生命周期监控等核心服务。在CLR之上的是.NETFramework类库,提供许多类与接口,包括ADO.NET、XML、IO、网络、调试、安全和多线程等。CLR相当于Java体系中的“虚拟机”,它是.NET框架的核心。它提供了程序运行时的内存管理、垃圾自动回收、线程管理和远程处理以及其他系统服务。同时,它还能监视程序的运行,进行严格的安全检查和维护工作,以确保程序运行的安全、可靠以及其他形式的代码的准确性。,图.NET框架结构,10,.NET框架类库,任何基于CLR的语言都可以使用.NET框架类库.NET框架类库的确如其名称所暗示:一个关于类和类型的程序库,可让开发人员的日子好过一些。虽然这些类本身以C#编写而成,但它们可被任何基于CLR的语言使用。以C#、VB、C+或.NET框架所支持的任何其他语言编写出来的代码,都可以制造出这些类的实例,并调用它们的方法。这些代码还可以藉由CLR对继承的支持,从这个程序库中的类派生出新类。,11,.NET框架类库,NET框架类库被组织成一棵树.NETFramework类库是以命名空间(Namespace)的方式来组织类库,命名空间与类库的关系就像文件系统中的目录与文件的关系一样。例如,用于处理文件的类属于System.IO命名空间。,12,.NET框架类库,System:“树”的根,此命名空间包含.NET框架类库中的其他所有命名空间。它提供了大量我们在构造ASP.NET应用(以及非ASP.NET应用时)可以利用的核心功能。System.Web:包含的类型能够用来创建Web应用程序,拥有次级命名空间。例如,开发人员可以使用System.Web.UI中的类型来构建ASP.NET浏览器应用程序,而System.Web.Services中的类型则可用来构建ASP.NETWebServices应用程序。System.Data:这个命名空间内的类型造就了ADO.NET。例如Connection类用于建立对数据库管理系统(databasemanagementsystem,DBMS)的连接,DataSet类的实例则可用于缓存(cache)和检视对DBMS执行的查询的结果。System.Windows.Forms:这个命名空间内的类型构成了WindowsForms,它们用于构建WindowsGUIs。当以任何基于CLR的编程语言编写.NET框架应用程序时,都可以使用这一套通用类型来创建Windows图形界面,而不必依赖于某种特定的语言机制(例如在C+中使用较陈旧的MFC,MicrosoftFoundationClasses)。,13,.NET框架类库,System.EnterpriseServices:这个命名空间内的类型提供了某些企业应用所要求的服务,在.NET之前的世界中由COM+进行实现。这些服务包括分布式事务,对象实例生命期管理等。这个命名空间内最重要的类型是ServicedComponent类,使用企业服务(EnterpriseServices)的类都必须从该类继承下来。System.XML:这个命名空间内的类型支持生成和处理以XML定义的数据。例如类XmlDocument允许我们使用DOM(DocumentObjectModel)来访问XML文档。这个命名空间内还包括对诸如XMLSchemadefinitionlanguage(XSD)和XPath这样的新技术的支持。,14,应用程序,在.NET框架基础上的应用程序主要包括ASP.NET应用程序和WindowsForms应用程序,其中ASP.NET应用程序又包含了“WebForms”和“WebService”,它们组成了全新的Internet应用程序。而WindowsForms是全新的窗口应用程序。,图.NET框架结构,15,公共语言规范CLS,在.NET框架上可以运行多种语言,这是.NET的一大优点。.NET框架中的CLS实际上是一种语言规范。由于.NET框架支持多种语言,并且要在不同语言对象之间进行交互,因此就要求这些语言必须遵守一些共同的规则。公共语言规范(CommonLanguageSpecification,CLS)就定义了这些语言的共同规范,它包括了数据类型、语言构造等,同时CLS又被设计得足够的小。,图.NET框架结构,16,.NET应用程序的编译过程,在.NETFramework之上,无论采用哪种编程语言编写的程序,都被编译成中间语言IL,IL经过再次编译形成机器码,完成IL到机器码编译任务的是JIT(JustInTime)编译器。上述处理过程如图3.2所示。,图.NET应用程序的编译过程,17,引用名称空间中的成员,.NET类按照逻辑关系组织成了称为名称空间(Namespace)的层次结构。例如,Math类是System名称空间的一个成员。名称空间在层次结构中可以嵌套多层。例如,ADOConnection类是System.Data.ADO类的一个成员。要使用名称空间中的类,通过“.”分隔的名字显式地引用类。例如,要创建一个ADOConnection对象,必须使用类似下面的代码:此外,还可以用Import指令简化对类的引用。UsingSystem.Data.SQL;导入名称空间之后,就可以直接引用类的名字,省略所有类名字前面的名称空间说明,以减少大量的输入。许多名称空间已经由ASP.NET自动导入,我们不必再为了简化名称引用而去导入这些名称空间。应该注意的是,导入一个层次较高的名称空间并不意味着同时导入了层次结构中位于它下面的名称空间。,System.Data.SQL.SQLConnectioncnx;cnx=NewSystem.Data.SQL.SQLConnection(“server=(local);uid=sa;pwd=;database=pubs”);,SQLConnectioncnx=NewSQLConnection(“server=(local);uid=sa;pwd=;database=pubs”);,18,ASP.NET2.0的逻辑结构,ASP.NET2.0系统的逻辑结构可以是两层结构,也可以是三层结构。所谓两层结构是表现层直接使用数据层的接口;所谓三层结构是在表现层和数据层的中间增加一个业务逻辑层。业务逻辑层负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。如下图所示。,ASP.NET的两层或三层逻辑结构,19,ASP.NET2.0的逻辑结构,图中灰底部分在ASP.NET1.x中已经具备,但新版本(2.0版本)对这些部分做了很多改进。而白底部分是2.0版本新增加的功能。图中左边的“数据连接”线段代表两层结构时的连接,中间的数据连接代表三层结构时的连接。如果系统比较简单时,采用两层结构比较合适。当系统比较复杂或者系统有特殊要求时适合于采用三层结构。,20,ASP.NET2.0的代码模式,每个网页中包含两方面的代码:用于定义显示的代码和用于逻辑处理的代码。用于显示的代码包括HTML标记以及对Web控件的定义等;用于逻辑处理的代码主要是用C#或者是其他语言编写的事件处理程序。在ASP.NET中,这些代码可以用两种模式存储:一种是代码分离模式,另一种是单一模式。在代码分离模式中,显示信息的代码与逻辑处理的代码分别放在不同的文件中;在单一模式中,将两种代码放置在同一个文件中。新建ASPX网页时可以选择代码存储方式,其设置的方法如图所示。,21,22,ASP.NET2.0应用程序的组成,一个成功发布的ASP.NET2.0应用程序通常包括以下6部分。(1)一个在IIS信息服务器中的虚拟目录。这个虚拟目录被配置为应用程序的根目录。(2)一个或多个带.aspx或.ascx扩展名的文件。(3)Web.config应用程序配置文件,这在ASP.NET2.0中并非是必须的。(4)Global.asax全局文件,和Web.config一样,这个文件也是非必须的。(5)保留文件夹,用于系统特定类型的文件。(6)bin目录,包含发布网站时生成的若干程序集(.dll文件),这些程序集通常是在应用程序中引用的控件、组件或其他代码。应用程序将自动引用此目录的代码所表示的任何类。要求此目录位于Web应用程序的根目录下。,23,虚拟目录,虚拟目录又称为目录的“别名”,它是以服务器作为根的目录。默认安装时,IIS的Web服务器主目录被设置为C:Inetpubwwwroot,该目录对应的URL是http:/localhost/。在Internet中向外发布信息或接受信息的应用程序必须放在虚拟目录或其子目录下面。系统将自动在虚拟目录下去寻找相关的文件。将应用程序放在虚拟目录下,有两种方法。(1)直接将网站的根目录放在虚拟目录下面。例如应用程序的根目录是“myweb”,直接将它放在虚拟目录下,物理路径为“C:Inetpubwwwrootmyweb”。此时对应的URL是“http:/localhost/myweb”。(2)将应用程序目录放到一个物理目录下(例如,D:myweb),同时建一个虚拟目录指向该物理目录,此时新建的虚拟目录名只是一个别名,并不要求和被指向的物理目录同名。客户只需要通过虚拟目录的URL来访问,并不需要知道对应的物理目录在哪里。这样做的好处是一旦应用程序的物理目录有了改变时,只需更改目录映射,无须更改虚拟目录名,客户仍然可以用原URL来访问它们。,24,网页文件,网页是Web应用程序运行的主体。ASP.NET中的基本网页以aspx作为后缀。除此以外,应用程序中还可以包括以ascx为后缀的用户控件,以传统的html或asp为后缀的网页。当服务器打开后缀为htm的网页时,服务器将不经过任何处理就直接送往浏览器。而当服务器打开后缀为aspx的网页时,需先运行服务器端的代码,然后再将结果转换成HTML的代码形式送往浏览器。对于曾经请求过而又没有改变的aspx网页,服务器会直接从缓冲区中取出结果而不需要再次运行。,25,网站配置文件(Web.config文件),Web.config是一个基于XML的配置文件。该文件的作用是对Web应用程序进行配置,比如规定客户的认证方法,基于角色的安全技术的策略,数据绑定的方法,错误显示方式,数据库连接串等。Web.config并不是网站必备的文件。这是因为服务器有一个总的配置文件,名为“Machine.config”,默认安装在“C:windowsMicrosoft.NETFramework(版本号)CONFIG”的目录下。这个配置文件已经确定了所有ASP.NET应用程序的基本配置,通常情况下不要去修改这个文件,以免影响其他应用程序的正常运行。,26,网站全局文件(Global.asax文件),Global.asax文件也是一个可选的文件,但是一个应用程序最多只能建立一个Global.asax文件,而且必须放在应用程序的根目录下。这是一个全局性的文件,用来处理应用程序级别的事件,放置例如Application_Start、Application_End、Application_Error和Session_Start、Session_End等事件的处理代码。当应用程序运行的时候,Global.asax的内容被编译到一个继承自HttpApplication类的类中。为防止应用程序用户下载应用程序而看到源代码,ASP.NET默认配置为阻止用户查看Global.asax的内容。如果有人在浏览器输入以下URL:http:/localhost/progaspnet/Global.asax,将会收到一个403(禁止访问)错误信息。,27,保留文件夹,ASP.NET使用应用程序根目录下的许多特殊目录来维护应用程序的内容和数据。ASP.NET2.0在ASP.NET1.x中已存在的Bin目录的基础上又引进了另外7个受保护的目录。这些目录也不是一定要存在的,每个目录需要开发者在需要时手动创建或通过VisualStudio创建。以下是最常用的3个保留目录。(1)App_Code包含页使用的类的源文件(.cs或.vb)。所有的文件必须使用相同的语言。(2)App_Data包含应用程序数据文件,包括MDF文件、XML文件和其他数据存储文件。ASP.Net2.0使用此目录来存储应用程序的本地数据库。(3)App_Themes包含应用程序支持的主题和外观的定义,也是保留目录中唯一可以通过HTTP请求访问的目录。,28,创建网站,网站是管理应用程序并向外发布信息的基本单位,也是网站迁移的基本单位。在ASP.NET2.0中,一个网站就是一个应用程序。由于应用的目的不同,在ASP.NET2.0中可以建立三种类型的网站。(1)文件系统网站。(2)本地IIS网站。(3)远程网站。,选择菜单“文件”“新建网站”命令,将打开“新建网站”对话框,其中可以看见这三种网站对应选项,如图所示。,29,创建文件系统网站,文件系统网站是一种用于检查和调试的网站,只能用来检验和调试应用程序而不能向外发布信息。文件系统网站的目录可以放置在任意物理目录下面,非常适合于学习时使用。使用文件系统网站时,并不需要在计算机上安装IIS服务器。此时系统将自动为该网站配置一个“开发服务器(ASP.NETDevelopmentServer)”,用来模拟IIS服务器对网站运行时的支持。开发服务器是一种轻量级服务器,它并不具备IIS的全部服务功能,但在通常情况下,利用它进行调试已经够用。当使用文件系统网站时,系统会自动调用开发服务器来调试运行的网页,同时给网站随机地分配一个接口。例如,调试的网页名是MyPage.aspx,当运行开发服务器时,该网页的URL是:http:/localhost:12345/网站名/MyPage.aspx。其中网站名就是应用程序的根目录名。12345在这里只是一个示例,它是开发服务器给应用程序随机生成的一个端口。,30,创建本地IIS网站,如果机器上安装有IIS服务器就可以创建本地IIS网站。此时的网站目录必须直接或间接地放在虚拟目录下面。创建本地IIS网站的步骤如下。(1)在打开的“新建网站”对话框中的“位置”下拉列表框中选择HTTP。(2)单击“浏览”按钮以打开“选择位置”对话框。(3)在“选择位置”对话框的左边选择“本地IIS”图标,再选中右边的默认的网站,最后在右边选择两个图标之一:一个是“创建新Web应用程序”图标;另一个是“创建新虚拟目录”图标。前者用于直接在虚拟目录下创建网站;后者用来创建一个指向另一物理目录的虚拟目录。“选择位置”对话框如图3.6所示。(4)如果选择“创建新虚拟目录”图标,还需要在打开的对话框中设置虚拟目录名(即别名)和对应的物理目录名,如图3.7所示。,31,图“选择位置”对话框图创建虚拟目录,32,远程网站,远程网站是可以向外发布信息的网站,一个远程网站必须获得唯一的URL地址(并且安装有扩展的FrontPage)。为了将调试好的网站传送到远程网站,可以利用FTP文件服务器,将调试好的网站用字符流的方式传送到远程网站的指定目录中。为此,必须获得远程网站的允许并且取得相应的协议才可以进行此项传输工作。,33,部署应用程序,建立完一个Web应用程序后,就要考虑如何进行部署和发布。一般情况下,尽可能将安装简单化,让用户有好的体验。但有的情况下,可能对安装程序的要求比较高,比如有时要将一些安装配置信息写到注册表中去。而对于一个Web应用程序,该如何安装部署呢?这和安装部署一个普通的WINFORM下的应用程序有些不同。以往,对于Web应用程序的安装部署总是十分困难的,但ASP.NET2.0出现后,安装部署Web应用程序就变得简单、方便多了。一个Web应用程序,一般包括Web页面、各类配置文件、各类相关的资源文件,还有各类包括业务核心代码的源代码文件,这些文件一般会放在Web服务器的一个虚拟目录下。由于ASP.NET是采用编译架构的,因此还包括编译后的各类DLL文件,这些DLL文件放在BIN目录下。对于部署Web应用程序,在.NET2.0中,可以采用以下几种方法。使用XCOPY部署。使用VisualStudio的复制网站功能部署。使用VisualStudio的预编译部署。,34,使用XCOPY部署,XCOPY是.NET在应用程序部署方面最简单的方法。XCOPY简单地将Web应用程序的所有文件复制到目的服务器的指定路径下,比如,使用命令如下:xcopyE:testE:t1/e/k/r/o/h/i执行后,会将当前的应用test的所有文件复制到E盘的t1目录中去,之后,在IIS中创建虚拟目录,指向该目录就可以了。关于XCOPY众多参数的使用方法,请参考MSDN相关帮助,这里不再罗列。,35,使用VisualStudio的复制网站功能部署,VisualStudio的复制网站功能,可以很方便地进行Web应用程序的部署和安装。该功能可以将Web工程复制到同一服务器或者其他服务器上,或者FTP上。但要注意,使用该功能时,仅仅是将文件复制到目的路径中去,并不执行任何编译操作。在VisualStudio2005中,选择“网站”菜单中的“复制网站”,将出现如图3.8所示的复制网站对话框。,36,复制网站,其中,左边部分是源文件的路径,右边部分是将要部署的目的路径。留意右边的MOVEFILES的下拉选择框,里面提供了三种文件的复制方式供选择。在使用时,先单击“连接”旁边的小图标,打开“打开网站”对话框,如图3.9所示。,37,打开网站,这里可以选择将本地的Web应用程序复制到什么地方,例如,选择本地文件系统、本地IIS服务器、FTP站点或是远程站点。在选择好目的路径后,就可以将应用程序的文件复制到目的路径中去,复制后可以查看日志记录。,38,39,使用VisualStudio2005的预编译部署,ASP.NET2.0提供一种更新的编译部署方式,称做部署预编译。.NETFramework2.0提供了一个命令行的工具(aspnet_compiler.exe),可以将Web应用程序目录中的所有的代码、页面(包括HTML)、静态文件全部编译进dll,然后进行部署,得到的目标系统中,只包含编译后的dll,

温馨提示

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

评论

0/150

提交评论