【asp源码栏目提醒】:网学会员为广大网友收集整理了,ASP.NET 3.5简明教程 配置ASP.NET应用程序 - 网站开发与设计,希望对大家有所帮助!
ASP.NET3.5简明教程(C)第12章 配置
ASP.NET应用程序 重点内容: 使用web.config进行配置 使用global.asax进行配置
ASP.NET3.5简明教程(C)一、使用web.config进行配置 在每一个
ASP.NET应用程序的目录中都包含了一个web.config 文件,该文件就是
ASP.NET的配置文件,格式为XML格式的纯文 本文件。
配置内容被包含在web.config文件中的标记 和之间,在web.config文 件的注释语句包含在符号中。
web.config文件的配 置分为配置节处理程序声明部分,和配置节设 置等部分。
ASP.NET3.5简明教程(C)一、使用web.config进行配置 1、身份验证和授权 配置节设置部分的和可 以设置应用程序的身份验证策略。
可以选择的模式有如下几 种: Windows:IIS根据应用程序的设置执行身份验证。
Forms:在程序中为用户提供一个用于身份验证的的自定义 窗体(Web 页),然后在应用程序中验证用户的身份。
用户身 份验证信息存储在Cookie中。
Passport:身份验证是通过Microsoft的集中身份验证服务 执行的,它为成员站点提供单独登录和核心配置文件服务。
None:不执行身份验证。
ASP.NET3.5简明教程(C)一、使用web.config进行配置 1、身份验证和授权 当用户指定了身份验证模式为Forms时,需要添加元素,使用该元素可以对 cookie验证进行设置。
标签支持以下几个属性: Name:它用来指定完成身份验证的HTTP cookie的名称,其默认值为ASPXAUTH。
LoginUrl:它定义如果不通过有效验证时重定向到的URL地址。
Protection:指定cookie数据的保护方式。
可设置为All、None、Encryption和 Validation。
其中All表示通过加密cookie数据和对cookie数据进行有效性验证两 种方式来对cookie进行保护;None表示不保护cookie;Encryption表示对cookie内 容进行加密;Validation表示对cookie内容进行有效性验证。
TimeOut:指定cookie失效的时间。
超时后将需要重新进行登录验证获得新的 cookie。
程序清单是关于身份验证的实际配置内容:
ASP.NET3.5简明教程(C)一、使用web.config进行配置 2、获取配置信息 在配置了Web.Config文件后,可以在程序中读取这些设置信 息。
下面通过一个实例演示如何从Web.Config文件中读取应用 程序设置。
ASP.NET2.0中增加了一个元素 connectionStrings,它用来存储连接信息。
使用此元素来存 储连接字符串,替代了appSettings元素。
ASP.NET3.5简明教程(C)一、使用web.config进行配置 2、获取配置信息 ConfigTest.aspx.cs文件中的Page_Load事件中添加如程序清单: protected void Page_Loadobject sender EventArgs e Configuration rootWebConfig WebConfigurationManager.OpenWebConfiguration/ ConnectionStringSettings connString if 0 rootWebConfig.ConnectionStrings.ConnectionStrings.Count connString rootWebConfig.ConnectionStrings.ConnectionStrings1 if connString.ConnectionString SqlConnection myConnection new SqlConnectionconnString.ConnectionString myConnection.Open SqlDataAdapter myCommand new SqlDataAdapterselect from Students myConnection DataSet ds new DataSet myCommand.Fillds GridView1.DataSourcenew DataViewds.Tables0 GridView1.DataBind
ASP.NET3.5简明教程(C)一、使用web.config进行配置 2、获取配置信息 以上代码的运行效果
ASP.NET3.5简明教程(C)二、使用global进行配置 在每一个
ASP.NET应用程序里都包含一个名为global.asax的文件。
它主要负 责一些高级别的应用程序事件,例如应用程序的开始和结束、会话状态的 开始和结束等。
开发人员可以在global.asax中编写一些处理程序级别的事件 的代码,并且将这个文件放置于程序所在的虚拟目录中。
当第一次程序中 的任何资源或者URL被请求时,
ASP.NET将自动将这个文件编译成一 个.NET Framework类(继承自HttpApplication类)。
任何外部的户将无法直 接下载或者浏览global.asax文件。
global.asax文件中包括以下为几个程序级 别事件含义: Application_Start:
ASP.NET程序开始执行时触发该事件。
Application_End:
ASP.NET程序结束执行时触发该事件。
Session_Start:一个session开始执行时触发该事件。
Session_End:一个session结束执行时触发该事件。
Application_BeginRequest:一个请求开始执行时触发该事件。
Application_EndRequest:一个请求结束执行时触发该事件。
Application_Error:
ASP.NET程序程序出错时触发该事件
ASP.NET3.5简明教程(C)二、使用global进行配置 1、编写Application_Start代码 void Application_Startobject sender EventArgs e string sqlconn Data SourceHZIEE-2E53F913FInitial CatalogWebManagementDBIntegrated SecurityTrue System.Data.SqlClient.SqlConnection myConn new System.Data.SqlClient.SqlConnectionsqlconn myConn.Open string strSelect Select COUNT From log System.Data.SqlClient.SqlCommand sel new System.Data.SqlClient.SqlCommandstrSelect myConn int count Convert.ToInt32sel.ExecuteScalar 1 Application.Lock ApplicationID count Application.UnLock string strComm INSERT INTO log开始时间 Values DateTime.Now.ToString System.Data.SqlClient.SqlCommand myCommand new System.Data.SqlClient.SqlCommandstrComm myConn try myCommand.ExecuteNonQuery finally myConn.Close
ASP.NET3.5简明教程(C)二、使用global进行配置 1、编写Application_Start代码
ASP.NET3.5简明教程(C)二、使用global进行配置 2、编写Session_Start代码 void Application_Startobject sender EventArgs e Application.Lock ApplicationOnlineNum 0 ApplicationTotalNum 0 Application.UnLock void Session_Startobject sender EventArgs e Session.Timeout 1 Application.Lock ApplicationOnlineNum intApplicationOnlineNum 1 ApplicationTotalNum intApplicationTotalNum 1 Application.UnLock void Session_Endobject sender EventArgs e Application.Lock ApplicationOnlineNum intApplicationOnlineNum - 1 ApplicationTotalNum intApplicationTotalNum - 1 Application.UnLock
ASP.NET3.5简明教程(C)二、使用global进行配置 2、编写Session_Start代码
ASP.NET3.5简明教程(C)二、使用global进行配置 3、编写错误处理程序 protected void Application_ErrorObject sender EventArgs e string msg Server.GetLastError.ToString Application.Lock ApplicationError msg Application.UnLock Server.TransferDisplayError.aspx