资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第3章 ASP.NET Web编程原理,本章重点,ASP.NET应用程序的构成 ASPX页面代码模式 ASP.NET应用程序配置,3.1 ASP.NET应用程序的构成,与传统的桌面程序不同,ASP.NET应用程序被分成很多Web页面,用户可以在不同的入口访问应用程序,也可以通过超链接从一个页面到网站的另一个页面,也可以访问其他的服务器提供的应用程序。 ASP.NET应用程序是一系列资源和配置的组合,这些资源和配置只在同一个应用程序内共享,而其他应用程序则不能享用这些资源和配置 每个ASP.NET应用程序都运行在一个单独的应用程序域,应用程序域是内存中的独立区域,这样可以确保在同一台服务器上的应用程序不会相互干扰,不至于因为其中一个应用程序发生错误就影响到其他应用程序的正常进行。,Asp.net 应用程序定义:文件,页面,处理器,模块和可执行代码的组合,并且他们能够从服务器上的虚拟目录中被引用。,3.1 ASP.NET应用程序的构成,3.1.1 文件类型 1. .aspx文件 :是ASP.NET Web页面,它们包括用户接口和隐藏代码。 2. .ascx文件 :是用户控件。用户控件同Web页面非常相似,但用户不能 接访问用户控件,用户必须内置在Web页面中。 3. .asmx文件 :是ASP.NET Web服务,Web服务提供一个能够通过互联 网访问的方法集合。 4. Web.config :配置文件,它是基于XML的文件,用来实现对ASP.NET 应用程序进行配置。 5. Global.asax :全局文件,在全局文件中可以定义全局变量和全局事件。 6. .cs文件 :这些文件是用C#编写的代码隐藏文件,用来实现Web页面的 逻辑。 ASP.NET Web应用程序还可以包含其他文件资源,比如图片文件、 HTML文件和CSS文件等,但这些文件类型不是ASP.NET Web应用程序 所特有的。,.cs 类文件。源代码都写在这里,主要就看这里的代码。 .resx 资源文件,一些资源存放在这里,一般不需要看。 .csproj C#项目文件,用VS打开这个文件就可以直接打开这个项目,自动生成,不需要看。 .csproj.user 是一个配置文件,自动生成的,会记录项目生成路径、项目启动程序等信息。也不需要看。 .Designer.cs 设计文件,自动生成,不需要看。 .aspx 是网页文件,HTML代码写在这里面。,3.1 ASP.NET应用程序的构成,3.1.2 文件夹类型 1. Bin :包含ASP.NET应用程序使用的、编译好的.NET组件 (DLLS)。一旦.NET组件放到这个文件夹里,ASP.NET就能够 自动检测到这些组件,任何在这个Web应用程序里的页面都 能够使用这些组件。 2. App_Code :包含那些使用在应用程序中动态编译的源文 件。 3. App_GlobalResources :存储全局资源,这些资源能够被 Web应用程序中所有的页面访问。 4. App_LocalResources :存储被特定页面访问的资源。,3.1 ASP.NET应用程序的构成,3.1.2 文件夹类型 5. App_WebReferences :存储被Web应用程序使用 的Web服务引用。 6. App_Data :存储数据,包括SQL Server 2005 Express Edition数据库文件和XML文件等。 7. App_Themes :存储要在Web应用程序中使用的主 题。 这些文件由系统命名,用户不能修改 。,3.2 服务器控件,ASP.NET革新了Web页面的创建方式,使用这种方式,程序员不用学习复杂的HTML就可以创建出动态的Web页面。 ASP.NET提供了服务器控件来组成Web页面,服务器控件以对象的形式被创建和配置,它们运行在服务器端并能自动生成与自身对应的HTML。此外,服务器控件能够像Windows控件一样保持状态和触发事件。 ASP.NET提供了两种类型的服务器控件:HTML服务器控件和Web控件。,3.2.1 HTML服务器控件 HTML服务器控件为标准的HTML元素提供了一个对象接口,具有如下三个特性: 1.它们生成自己的接口 。 2.它们保存自己的状态 。 3.它们触发服务器端的事件 。,3.2 服务器控件,3.2.2 Web控件 Web控件具有如下特性: 1.提供更加统一的编程接口。 2.隐藏客户端的不同。 3.把状态保存在ViewState里面。,3.3 ASPX页面代码模式,ASPX网页代码都是基于一个共同的类库来建立的,而它的存储模式包含两种模式: 1. 单一文件模式; 2. 另一种是代码分离模式。 两种模式各有优劣,如何选择就要根据实际情况来进行选择。,3.3 ASPX页面代码模式,3.3.1 页面类 ASP.NET是一个完全的面向对象系统,网页是网站的基本组成部分。每张ASPX网页都直接或间接地从类库中的System.Web.UI.Page类继承。 由于在Page类中已经定义了网页所需要的基本属性、事件和方法,因此只要新网页生成,就从它的基类中继承了这些成员,因而也就具备了网页的基本功能。设计者可以在这个基础上高起点地进行各项设计。,Page类的基本属性,IsPostBack 用于指示当前被加载的页面是对客户端回发的响应,还是第一次加载。 True表示页面第一次加载,false表示是一个控件事件引发的页面回送。 EnableViewState 用于指示当前页是否管理视图状态信息。作用相当于Page中的EnableViewState属性 Application 返回HttpApplicationState类的实例。它代表当前应用程序的状态。 Cache 返回Cache类的实例,为ASP.NET应用程序实现了缓存。提高页面的访问速度。 Session 返回HttpSessionState类的实例。它用于管理用户特有的数据。,Page类的基本属性,Request 返回HttpResponst类的实例。它代表当前HTTP请求。 Response 返回HttpResponse类的实例。它用于将HTTP响应数据发送给客户端。 Server 返回HttpServerUtility类的实例。它提供处理Web请求的辅助方法。 User 返回IPrincipal类型的对象。它代表发出请求的用户,也就是经过认证的用户信息。,3.3 ASPX页面代码模式,3.3.2 网页代码存储模式 每个ASPX网页中包含两方面的代码:用于定义显示的代码(包括HTML标记以及对Web控件的定义等)和用于逻辑处理的代码(C#.net或其他语言编写的事件处理程序)。 在ASPX网页中,这些代码用两种模式存储:代码分离模式和单一文件模式。在代码分离模式中,显示信息的代码与逻辑处理的代码分别放在不同的文件中;在单一文件模式中,将两种代码放置在同一个文件中。 一般说来,对于那些逻辑代码不太复杂的网页来说,最好采用单文件模式;而对于逻辑代码比较复杂的网页来说,最好采用代码分离模式。,3.4 Application事件,在应用程序生命周期内,存在Application事件, 在这些事件中可以处理诸如用户认证、错误处理等。 Application事件的处理需要在Global.asax文件中进行。 3.4.1 Global.asax文件 Global.asax文件,又叫做ASP.NET应用程序文件, 提供了一种在一个中心位置响应应用程序级或模块 级事件的方法。可以使用这个文件实现应用程 序安全性以及其它一些任务。,3.4 Application事件,3.4.1 Global.asax文件 Global.asax位于应用程序根目录下。虽然Visual Studio.NET会自动插入这个文件到所有的ASP.NET项目中,但是它实际上是一个可选文件。 .asax文件是一个应用程序文件。Global.asax文件被配置为任何直接HTTP请求都被自动拒绝,所以不能下载或查看其内容。 ASP.NET 页面框架能够自动识别出对Global.asax文件所做的任何更改。在Global.asax被更改后,ASP.NET页面框架会重新启动应用程序,包括关闭所有的浏览器会话,去除所有状态信息,并重新启动应用程序域。 Global.asax文件继承自HttpApplication类,它维护一个HttpApplication对象池,并在需要时将对象池中的对象分配给应用程序。,3.4 Application事件,3.4.2 Application的主要事件种类。 1. Application_Start :在HttpApplication 类的第一个实例被创 建时,该事件被触发。它允许创建可以由所有 HttpApplication 实例访问的对象。 2. Application_End :在HttpApplication 类的最后一个实例被 销毁时,该事件被触发。在一个应用程序的生命周期内它只 被触发一次。 3. Session_Start :在一个新用户访问应用程序 Web 站点时, 该事件被触发。 4. Session_End :在一个用户的会话超时、结束或他们离开 应用程序 Web 站点时,该事件被触发。,3.5 ASP.NET应用程序配置,3.5.1 ASP.NET程序配置文件 ASP.NET为开发人员提供了强大的、灵活的配置系统,配置系统通常通过文件的形式存在于Web应用根目录下。 这些配置文件通常包括两类,分别是Web.config和Machine.config。 Machine.config是服务器配置文件。服务器配置信息通常存储在该文件中,该文件一般存储在系统目录中的“systemrootMicrosoft.NETFrameworkVersionNumberCONFIG”目录下。一台服务器只有一个Machine.config文件,该文件描述了所有ASP.NET Web应用程序所需要的默认配置。,3.5 ASP.NET应用程序配置,3.5.1 ASP.NET程序配置文件 Web.config是应用程序配置文件,该文件从Machine.config文件集成一部分基本配置,并且Web.config能够作为服务器上所有ASP.NET应用程序配置的跟踪配置文件。 每个ASP.NET应用程序根目录都包含Web.config,对于每个应用程序的配置都只需要重写Web.config文件中的相应配置节即可。 如果开发人员针对Web.config配置文件进行了更改,则很有可能造成应用程序重启。值得注意的是,应用程序的重启会造成Session等应用程序对象的丢失,而不会造成服务器的重启。,3.5 ASP.NET应用程序配置,3.5.2 Web.config配置文件 Web.config配置文件的优点: 1.配置设置易读性 。 2.本地服务器访问 。 3.安全性 。 4.可扩展性 。 5.保密性 。,3.5 ASP.NET应用程序配置,3.5.2 Web.config配置文件 配置文件的结构 在ASP.NET应用程序中,所有的配置信息都存储在Web.config文件中的“”配置节中。 在此配置节中,包括配置节处理应用程序声明,以及配置节设置两个部分,其中,对处理应用程序的声明存储在configSections配置节内。,3.5 ASP.NET应用程序配置,3.5.2 Web.config配置文件 配置文件的结构 配置节设置区域位于配置节处理程序声明区域之后。对配置节的设置还包括子配置节的配置,这些子配置节同父配置节一起描述一个应用程序的配置,通常情况下这些同父配置节由同一个配置节进行管理。 配置节设置区域中的每个配置节都有一个应用程序声明。,3.5 ASP.NET应用程序配置,3.5.3Web.config基本配置节 (1) 节通常用来配置ASP.NET身份验证支持。该元素必需与节配合使用。 (2) 节通常用来控制对URL资源的客户端访问。此元素必需与 节配合使用。 (3) 节通常用来配置ASP.NET使用的所有编译设置。 (4) 通常用来为ASP.NET应用程序提供有关自定义错误信息。但它不适用于XML Web services中发生的错误。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号