《ASP.NET 2.0简明教程(C# 2005篇) 教学课件 ppt 作者 978-7-302-19609-9 chap08》由会员分享,可在线阅读,更多相关《ASP.NET 2.0简明教程(C# 2005篇) 教学课件 ppt 作者 978-7-302-19609-9 chap08(9页珍藏版)》请在金锄头文库上搜索。
1、第8章 配置ASP.NET应用程序,8.1 使用web.config进行配置,在每一个ASP.NET应用程序的目录中都包含了一个web.config文件,该文件就是ASP.NET的配置文件,格式为XML格式的纯文本文件。配置内容被包含在web.config文件中的标记和之间,在web.config文件的注释语句包含在符号中。 web.config文件配置分为配置节处理程序声明部分,和配置节设置等部分。 配置节处理程序声明一般位于配置文件顶部的 和 标记之间。每个声明都包含在一个标记中,它们被用来指定提供特定配置数据集的节的名称和处理该节中配置数据的.NET框架类的名称。默认的web.confi
2、g文件中没有 和 标记,用户如果需要可以自己添加。,Web.config文件简介,配置节设置部分的和可以设置应用程序的身份验证策略。可以选择的模式有如下几种: Windows:IIS根据应用程序的设置执行身份验证。 Forms:在程序中为用户提供一个用于身份验证的的自定义窗体(Web 页),然后在应用程序中验证用户的身份。用户身份验证信息存储在Cookie中。 Passport:身份验证是通过Microsoft的集中身份验证服务执行的,它为成员站点提供单独登录和核心配置文件服务。 None:不执行身份验证。,8.1.1 身份验证和授权,8.1 使用web.config进行配置,当用户指定了身份
3、验证模式为Forms时,需要添加元素,使用该元素可以对cookie验证进行设置。标签支持以下几个属性: Name:它用来指定完成身份验证的HTTP cookie的名称,其默认值为ASPXAUTH。 LoginUrl:它定义如果不通过有效验证时重定向到的URL地址。 Protection:指定cookie数据的保护方式。可设置为All、None、Encryption和Validation。其中All表示通过加密cookie数据和对cookie数据进行有效性验证两种方式来对cookie进行保护;None表示不保护cookie;Encryption表示对cookie内容进行加密;Validation
4、表示对cookie内容进行有效性验证。 TimeOut:指定cookie失效的时间。超时后将需要重新进行登录验证获得新的cookie。,8.1.1 身份验证和授权,8.1 使用web.config进行配置,compilation:完成ASP.NET使用动态调试编译选项。 customErrors:完成在ASP.NET应用程序中自定义错误消息的功能。 sessionstate:完成会话状态的设置。 trace:配置ASP.NET应用程序的应用程序级别跟踪记录。 authorization:设置应用程序的授权策略,可以设置该段允许或拒绝不同的用户或角色访问。,8.1.2 web.config文件的
5、其他设置,8.1 使用web.config进行配置,核心代码: Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration(“/“); ConnectionStringSettings connString; if (0 rootWebConfig.ConnectionStrings.ConnectionStrings.Count) connString = rootWebConfig.ConnectionStrings.ConnectionStrings1; string connstr = connS
6、tring.ConnectionString; ,8.1.3 在代码中获取Web.Config应用程序设置,8.1 使用web.config进行配置,8.2 使用global.asax进行配置,当位于应用程序namespace的任何资源或URL被首次访问时,ASP.NET系统将自动解析Glabal.asax文件并把它编译为动态的.NET框架类,此类派生自HttpApplication基类。在创建HttpApplication派生类实例的同时,还将引发Application_Start事件。随后HttpApplication 实例将处理页面的一个个请求或者响应,同时触发Application_B
7、eginRequest或者Application_EndRequest事件,直到最后一个实例退出时才引发Application_End事件。 在Application_Start事件中可以进行一些系统资源的申请和初始化等操作,在Application_End事件中可以进行释放系统资源的操作。,8.2.1 编写Application_Start和Application_End事件处理代码,当服务器接收到应用程序中的URL格式的HTTP请求时,将触发Session_Start事件,并建立一个Session对象。当调用Session.Abandon方法时或者在TimeOut时间内用户没有刷新操作的话,将触发Session_End事件。,8.2 使用global.asax进行配置,8.2.2 编写Session_Start和Session_End事件代码,global.asax文件中的Application_Error事件在ASP.NET程序程序出错时被触发。可以在该事件中进行错误处理。,8.2 使用global.asax进行配置,8.2.3 编写错误处理程序,