15
第第第 第第第第第第

第五章 应用程序配置

Embed Size (px)

DESCRIPTION

第五章 应用程序配置. 知识点:. Global.asax Global.asax 的文件格式 Web.Config Web.config 的文件格式. 5.1 理解 Global.asax. 5.1.1 Global.asax - PowerPoint PPT Presentation

Citation preview

Page 1: 第五章 应用程序配置

第五章 应用程序配置

Page 2: 第五章 应用程序配置

知识点:Global.asaxGlobal.asax 的文件格式Web.ConfigWeb.config 的文件格式

Page 3: 第五章 应用程序配置

5.1 理解 Global.asax

5.1.1 Global.asax

Global.asax 文件位于 ASP.NET 应用程序的根目录下,被称为 ASP.NET 应用程序文件, Asp.net 通过一个动态的 .NET FrameWork 类自动解析和编译这个文件,这个类就是 HttpApplication 基类,在第一时间里面,在这个文件里面的应用程序的资源将会被响应,使你可以编写全局的应用程序代码。共提供了 7个事件, 5 个应用于 Application 对象, 2 个应用于 Session 对象。分别是:

Page 4: 第五章 应用程序配置

事件名 描述

Application_Start 该事件在应用程序启动时发生,这是它第一次接受用户请求。以后也不会再激发该事件。这个事件常用于创建或缓存一些初始信息,这些初始信息以后会被重用。

Application_End 该事件在应用程序关闭时发生,通常是由于重新启动web服务器造成的。可以在这里创建清理代码。

Application_BeginRequest 该事件针对应用程序接收到的每个请求时发生,仅仅在代码执行前发生。

Application_EndRequest 该事件针对应用程序接收到的每个请求时发生,仅仅在代码执行后发生。

Application_Error 当出现未处理的错误时,该事件发生。

Session_Start 该事件在接收到一个新的用户请求或是开始一个会话时发生。

Session_End 当会话超时或结束时,该事件发生。

Page 5: 第五章 应用程序配置

5.1.2 Global.asax 的文件格式 模版 <%@ [Directive][attribute]=[value]%><Script runat="server">

//Application 对象事件代码</Script>如果事件处理代码需要导入附加的命名空间,

可以在 .aspx 页中使用 @ import 指令,如下所示:

<%@ Import Namespace="System.Web.UI" %>

Page 6: 第五章 应用程序配置

利用 Global.asax 实现网页浏览计数。<script language="C#" runat=server> void Application_Start(object sender, EventArgs e) {

Application.Lock();Application.Add("count",0);Application.UnLock();

}void Application_End(Object sender, EventArgs e){

Application["count"]=(int)Application["count"]-1;}void Session_Start(object sender, EventArgs e) {

Application["count"]=(int)Application["count"]+1;}void Session_End(Object sender, EventArgs e){// 销毁会话资源}</script>

Page 7: 第五章 应用程序配置

5.2 web.config

5.2.1 配置文件在 ASP.NET 中的配置系统是一个分层配置结构,这使

得能够在整个应用程序、站点或计算机中定义和使用可扩展的配置数据。它具有以下优点:永远不会被锁定: web.config 设置可以被随时更新, AS

P.NET 将平稳地转换到一个新的应用程序域。便于访问和复制:能够很方便地管理远程计算机上的某个

web.config 文件。还可以复制 web.config 文件或利用它把同样的设置应用于另一个应用程序或者某个 web 域内的同一个应用程序。

易于编辑和理解: web.config 文件基于 XML 的文本文件,其设置易于阅读,可以使用任何文本编辑工具来编辑。

Page 8: 第五章 应用程序配置

5.2.2 web.config 文件格式

配置文件基于 XML 的文本文件,可出现在 ASP.NET web 应用程序服务器上的任何目录中。每个 web.config 文件将配置设置应用到它所在的目录和它下面的所有虚拟子目录。

Web.config 文件基于 XML 的文本文件,文件的编码格式可以为 ANSI 、 UTF-8 、 Unicode 。所有配置都被嵌套在 <configuration> 根元素中,标记间的配置信息分为两个主区域:配置节处理程序声明区域和配置节设置区域。

Page 9: 第五章 应用程序配置

配置节处理程序声明出现在配置文件顶部的 <configSections> 和 </configSections> 标记之间。包含在 <section> 标记中的每个声明都指定提供特定配置数据集的节的名称和处理该节中配置数据的 .NET Framework 类的名称。

配置节设置区域位于 <configSections> 之后,这部分包含实际的配置设置。 <configSections> 区域中的每个声明都有一个配置节。每个配置节都包含子标记,这些子标记带有包含该节设置的属性。

配置设置在节分组标记下经常嵌套在一起。这些顶级节标记通常表示配置设置应用到的命名空间。

Page 10: 第五章 应用程序配置

web.config 文件的一些重要的配置段。 <?xml version="1.0" encoding="utf-8"?><configuartion>

<system.web><httpRuntime /><pages /><compilation /><customErrors /> <authentication /><authorization /><identity /><trace /><sessionState /><httpHandlers /><httpModules /><globalization />

</system.web></configuration>

Page 11: 第五章 应用程序配置

元素 作用<httpRuntime> 配置 ASP.NET HTTP运行库设置。<pages> 标识特定于页的配置设置。<compilation> 配置 ASP.NET 使用的所有编译设置。<customErrors> 为 ASP.NET 应用程序提供有关自定义错误信息的信息。

<authentication> 配置 ASP.NET 身份验证支持。

<authorization> 配置 ASP.NET 授权支持。 <authorization> 标记控制对 URL 资源的客户端访问。

<identity> 控制 Web 应用程序的应用程序标识。<trace> 配置 ASP.NET 跟踪服务。<sessionState> 为当前应用程序配置会话状态设置。<httpHandlers> 根据在请求中指定的 URL 和 HTTP 谓词,将传入的请求映射到适当的 IH

ttpHandler 或 IHttpHandlerFactory 类。<globalization> 配置应用程序的全球化设置。

<compilation> 配置 ASP.NET 使用的所有编译设置。

Page 12: 第五章 应用程序配置

5.2.3 在 web.config 中保存设置可以把定制的配置信息添加到 <appSettings> 元素

中。 <appSettings> 嵌到在 <configuration> 中,而不是在 <system.web> 元素中。

<?xml version="1.0" encoding="utf-8"?><configuartion>

<appSettings> <!— 定制配置 --> </appSettings> <system.web> <!-- ASP.NET 类的设置 -->

</system.web></configuration>

Page 13: 第五章 应用程序配置

要加入定制的配置,可用一个 <add> 元素指定一个唯一的变量名( key )和相应的变量内容( value )。如下例:

<?xml version="1.0" encoding="utf-8" ?><configuration>

<appSettings><!--***************** 数据库的设置 ***************** !— SCDataCode : 数据库操作引擎授权码 ( 自动判断域名 ) !— SCDataLink : 数据库链接参数 ( 自动判断类型 )!— Access 类型: \安装目录 \ 库名 .mdb!— SQL Server 类型: uid= 用户名 ;pwd=密码 ;database= 数据库 ;server=(local)**************************************************--><add key="SCDataCode" value="00000000-00000000"/><add key="SCDataLink" value="uid=sa;pwd=;database=Temp;server=(local);"/><!--***********************************************--></appSettings><system.web>

<!-- 配置设置代码 --></system.web>

</configuration>

Page 14: 第五章 应用程序配置

可以利用 System.Configuration.ConfigurationSettings类通过关键字( key )名访问这些设置。这个类提供一个叫做 AppSettings 的共享属性,如下所示。

public void DbOperate()

{

conn = System.Configuration.ConfigurationSettings.AppSettings["SCDataLink"].ToString();

}

Page 15: 第五章 应用程序配置

5.3 实战检验理论巩固请说明 Global.asax 的作用。请说明 Global.asax 提供几种事件,分别完成什么功能。请理解 Global.asax 的文件格式。请说明 web.config 的作用。请理解 web.config 的文件格式。上机实战请利用 Global.asax 实现网站计数器的功能。请在 web.config 中加入配置数据库连接的功能。