资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
重点内容: 使用web.config进行配置 使用global.asax进行配置,第12章 配置ASP.NET应用程序,一、使用web.config进行配置,在每一个ASP.NET应用程序的目录中都包含了一个web.config文件,该文件就是ASP.NET的配置文件,格式为XML格式的纯文本文件。配置内容被包含在web.config文件中的标记和之间,在web.config文件的注释语句包含在符号中。web.config文件的配置分为配置节处理程序声明部分,和配置节设置等部分。,配置节设置部分的和可以设置应用程序的身份验证策略。可以选择的模式有如下几种: Windows:IIS根据应用程序的设置执行身份验证。 Forms:在程序中为用户提供一个用于身份验证的的自定义窗体(Web 页),然后在应用程序中验证用户的身份。用户身份验证信息存储在Cookie中。 Passport:身份验证是通过Microsoft的集中身份验证服务执行的,它为成员站点提供单独登录和核心配置文件服务。 None:不执行身份验证。,一、使用web.config进行配置,1、身份验证和授权,一、使用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。 程序清单是关于身份验证的实际配置内容: ,一、使用web.config进行配置,2、获取配置信息,在配置了Web.Config文件后,可以在程序中读取这些设置信息。下面通过一个实例演示如何从Web.Config文件中读取应用程序设置。ASP.NET2.0中增加了一个元素connectionStrings,它用来存储连接信息。使用此元素来存储连接字符串,替代了appSettings元素。,一、使用web.config进行配置,2、获取配置信息,ConfigTest.aspx.cs文件中的Page_Load事件中添加如程序清单: protected void Page_Load(object 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 SqlConnection(connString.ConnectionString); myConnection.Open(); SqlDataAdapter myCommand = new SqlDataAdapter(“select * from Students“, myConnection); DataSet ds = new DataSet(); myCommand.Fill(ds); GridView1.DataSource=new DataView(ds.Tables0); GridView1.DataBind(); ,一、使用web.config进行配置,2、获取配置信息,以上代码的运行效果,二、使用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程序程序出错时触发该事件,二、使用global进行配置,1、编写Application_Start代码,void Application_Start(object sender, EventArgs e) string sqlconn = “Data Source=HZIEE-2E53F913F;Initial Catalog=WebManagementDB;Integrated Security=True“; System.Data.SqlClient.SqlConnection myConn = new System.Data.SqlClient.SqlConnection(sqlconn); myConn.Open(); string strSelect = “Select COUNT(*) From log“; System.Data.SqlClient.SqlCommand sel = new System.Data.SqlClient.SqlCommand(strSelect, myConn); int count = Convert.ToInt32(sel.ExecuteScalar() + 1; Application.Lock(); Application“ID“ = count; Application.UnLock(); string strComm = “INSERT INTO log(开始时间) Values (“ + DateTime.Now.ToString() + “)“; System.Data.SqlClient.SqlCommand myCommand = new System.Data.SqlClient.SqlCommand(strComm, myConn); try myCommand.ExecuteNonQuery(); finally myConn.Close(); ,二、使用global进行配置,1、编写Application_Start代码,二、使用global进行配置,2、编写Session_Start代码,void Application_Start(object sender, EventArgs e) Application.Lock(); Application“OnlineNum“ = 0; Application“TotalNum“ = 0; Application.UnLock(); void Session_Start(object sender, EventArgs e) Session.Timeout = 1; Application.Lock(); Application“OnlineNum“ = (int)Application“OnlineNum“ + 1; Application“TotalNum“ = (int)Application“TotalNum“ + 1; Application.UnLock(); void Session_End(object sender, EventArgs e) Application.Lock(); Application“OnlineNum“ = (int)Application“OnlineNum“ - 1; Application“TotalNum“ = (int)Application“TotalNum“ - 1; Application.UnLock(); ,二、使用global进行配置,2、编写Session_Start代码,二、使用global进行配置,3、编写错误处理程序,protected void Application_Error(Object sender, EventArgs e) string msg = Server.GetLastError().ToString(); Application.Lock(); Application“Error“ = msg; Application.UnLock(); Server.Transfer(“DisplayError.aspx“); ,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号