




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1回顾q 传递Form表单中的控件值用Request.Form 获取值,地址栏中传递的参数用 Request.QueryString获取q 通常用HttpResponse 类的属性Buffer、Cache、Cookie 和 Expires来设置站点的一些特性q HttpResponse 类常用方法是 Write()、End() 和 Redirect()q HttpServerUtility 类的Execute()和Transfer()的区别关键在于执行后控制权是否返回原先页面、URLEncode()和HTMLEncode()主要用于对HTML 标签和URL进行编码,对站点或程序的安全具有重要意
2、思, MapPath()获取物理路径时需要注意是绝对路径还是相对路径第第6章章-2Application、Session和Cookie对象ASP.NET应用程序的生命周期3aspnet_isapi.dll起点ApplicationManager HostingEnvironment 4Global.asax5 Global.asax 2-1“Global.asax” q 存储所有事件的事件处理程序q 存储在应用程序的根目录下q 它的位置定义应用程序的限界q 包含所有应用程序的配置设置6Global.asax 2-2httpApplication类类实例事件事件处理程序Global.asax配置
3、设置存储于文件事件说明Application_Start调用当前应用程序目录(或其子目录)下的第一个 ASP.NET 页面时触发。Application_End应用程序的最后一个会话结束时触发。用 Internet 服务管理器管理单元停止 Web 应用程序时也会触发Application_BeginRequest每次页面请求开始时触发(理想情况下是在页面加载或刷新时)Application_EndRequest每次页面请求结束时(即每次在浏览器上执行页面时)触发Session_Start每次新的会话开始时触发Session_End会话结束时触发。(关于会话可以采用何种方式结束,请参见会话对象)
4、7TestingGlobal.aspx示例 会话尚未结束 输出结果8TestingGlobal.aspx示例 -1 protected void Application_Start(Object sender, EventArgs e) protected void Session_Start(Object sender, EventArgs e)Response.Write( “会话已开始 ); protected void Application_BeginRequest(Object sender, EventArgs e) Response.Write(“应用程序开始); Respon
5、se.Write (“应用程序请求开始);Global.asax 文件打开代码隐藏类文件 Global.asax.cs。将代码分别添加到 Global.asax.cs 中的各个事件中9TestingGlobal.aspx示例 -2 protected void Application_EndRequest(Object sender, EventArgs e) Response.Write (“应用程序请求结束); protected void Session_End(Object sender, EventArgs e)Response.Write(“会话已结束); protected vo
6、id Application_End (Object sender, EventArgs e)10TestingGlobal.aspx示例 -3private void Page_Load(object sender, System.EventArgs e)Response.Write(“页面加载事件);将默认 ASP.NET 页面WebForm1.aspx重命名为TestingGlobal.aspx, 并添加给定的代码片段11TestingGlobal.aspx示例 -4会话尚未结束 输出结果实现状态管理的对象qHttp协议“无状态协议”qSessionqApplicationqViewSt
7、ateqCookie1213变量用于在应用程序执行时存储数据Application应用程序级Session会话级ViewState级Cookie级string myname = “张三;Response.Write (“欢迎 + myname);14ViewStatecount = 0;Sessioncount = null;Applicationcount = ncount;Label3.Text = Sessioncount.ToString();15一 Session 对象qSession 对象用于存储用户的信息 q当新用户请求应用程序的网页时,Server 对象会检查用户是否有 Ses
8、sionIDqSession 对象包含特定于某个用户的信息q在用户会话期间可以记录和监视特定于用户的信息q当会话过期或终止时,服务器就会清除 Session 对象优点161.1Session 变量qSession 变量仅提供给会话中的特定用户qSession 变量可用于存储在整个用户会话过程中都可以访问的值1.2向Session对象中存入数据protected void Button1_Click(object sender, EventArgs e) SessionMyVal1 = 这是Session传递的数据1; string Val2 = 这是Session传递的数据2; Session
9、MyVal2 = Val2;1.2 从Session对象中取出数据protected void Page_Load(object sender, EventArgs e) Label1.Text = (string)(SessionMyVal1); Label2.Text = (string)(SessionMyVal2);19ASP.NET中数值传递模型介绍1.3 示例1qLogin.aspx:登陆页面,用户输入用户名。qSessionV.aspx:用户名输出页面,输出login页接收到的用户名。qNolink.aspx:用户名输出页面,输出login页接收到的用户名。2021 privat
10、e void btnLogin_Click(object sender, System.EventArgs e) SessionUserName=this.txtName.Text.Trim(); Response.Redirect(SessionVariableWelcome.aspx?pwd= +this.txtPwd.Text );1.3 上机练习 3-1221.2使用示例 3-2private void Page_Load(object sender, System.EventArgs e)Response.Write (“欢迎 +SessionUserName + 光临,你的密码是:
11、 +Requestpwd.ToString()+);231.3Session事件Session 事件事件Session_StartSession_End241.4Session 属性属性说明SessionID包含一个唯一的用户会话标识符。它用于在会话过程中跟踪用户的信息。要检索 SessionID,使用 Session.SessionIDTimeOut设置用户超时,即它以分钟为单位,默认值为 20 分钟。可通过在 ASPX 文件中赋值来更改此设置。例如,LCID用于设定本地标志符. 它可存储本地信息,如日期、货币和时间格式。例如 Session.LCID = 0 x040C 将本地标识符设定为
12、法国本地标识符IsNewSession若该会话是由当前请求创建的,该属性将返回值 trueItem获取或设置会话值的名称Count获得会话状态集合中的项数1.5 示例q用户只能通过default.aspx登录welcome.aspx.qZhangsan 123456 adminqLisi 234567 normalqWangwu 345678 normal2526Application 对象存储并维护应用程序级的数据二、 Application 对象Application 状态状态HttpApplicationState方法集合Application 状态状态由它们表示由它们表示类类272.1
13、Application 变量变量用于在应用程序执行时存储数据应用程序级会话级string myname = “张三;Response.Write (“欢迎 + myname);282.2Lock 和 Unlock 方法 Lock()Lock() 用于防止用户更改 Application 对象的属性 Lock() 可用作 Application.Lock() UnLock()Unlock() 方法用于释放对应用程序变量的锁定UnLock() 可用作Application.UnLock()292.3向应用程序添加、更新和移除项 方法方法说明说明Add()向 Application 状态添加新对象。
14、Application.Add(“对象名”, 对象值);或 Application(“对象名”) = “对象值”;例如,下列代码会向应用程序状态添加项:Application.Add(“Title”, article board);或 Application(“Title”) = “Article Board”; Clear()从 Application 状态中移除所有对象 Remove()从 Application 集合中按名称移除项。例如,下列代码移除 Title 项:Application.Remove(Title) HttpApplicationState 方法方法q修改Applica
15、tion对象中的数据:Application.Lock();Application“Test”= Application“Test”= + 1);Application.Set(“Test”,Application“Test” + 1);Application.Unlockq读取Application对象中的数据string User;User=Application(“UserName”).Tostring();3031对象级变量 示例网站计数器protected void Application_Start(Object sender, EventArgs e)Application.Lo
16、ck ();ApplicationUserNum =0;Application.UnLock();protected void Session_Start(Object sender, EventArgs e)Response.Write(调用Session_Start:会话已开始 );Application.Lock();ApplicationUserNum=int.Parse(ApplicationUserNum. ToString()+1;Application.UnLock();32对象级变量示例private void Page_Load(object sender, System.
17、EventArgs e)/ 在此处放置用户代码以初始化页面Response.Write(你是第+ ApplicationUserNum.ToString() + 位访客);33对象级变量 示例在线访问人数protected void Application_Start(Object sender, EventArgs e)Application.Lock ();ApplicationUserNum =0;Application.UnLock();protected void Session_Start(Object sender, EventArgs e)Response.Write(调用Se
18、ssion_Start:会话已开始 );Application.Lock();ApplicationUserNum=int.Parse(ApplicationUserNum. ToString()+1;Application.UnLock();protected void Session_End(Object sender, EventArgs e) Response.Write(调用Session_End:会话已结束); Application.Lock(); ApplicationUserNum=int.Parse(Application UserNum.ToString()-1; App
19、lication.UnLock();34对象级变量示例private void Page_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面Response.Write(你是第+ ApplicationUserNum.ToString() + 位访客);35对象级变量 示例q例6-10简易网络聊天室(P174)36实例q一个简易网上聊天室。用户访问网站的时候,首先打开登陆页面。在输入用户名和相应密码后,进入聊天页面。页面分上下两部分,下面是输入区域,上面为聊天信息显示区域。3738三、CookiesCookie在客户端系统中维护客户
20、的个人信息 会话会话 Cookie持久性持久性 Cookie3.1创建和读取 Cookie-11、创建cookieq Response.Cookies“名称名称”.Value=变量;变量;q HttpCookie objHttpCookie = new HttpCookie(“name”, “value); Response.Cookies.Add(objHttpCookie); 392、读取cookieq变量变量 = Request.Cookies名称名称.Value;q 3、清除cookie Response.Cookies名称名称.Value = null;或 Response.Cook
21、ies名称名称.Expires = new System.DateTime(2012,11,12);(过期)(过期)40413.2创建和读取会话 CookieHttpCookie objHttpCookie = new HttpCookie(“UserName”, “张三); Response.Cookies.Add(objHttpCookie); 新建 Cookie将新 Cookie 添加到 Response 对象的 Cookie 集合中 创建 Cookie读取 CookieResponse.Write(Request.Cookies(“UserName).Value);Value 属性将
22、Cookie 的值作为字符串返回423.3创建和读取持久性 Cookie读取 CookieHttpCookie objHttpCookie = new HttpCookie(“UserName”,“张三); objHttpCookie.Expires = DateTime.Now.AddMinutes(2);Response.Cookies.Add(objHttpCookie); 新建 Cookie用 Cookie 的 Expires 属性将 Cookie 的过期期限设置为两分钟创建 CookieResponse.Write(Request.Cookies(“UserName).Value);
23、练习q将Cookies集合中名为“MyCookie”的Cookie值读出,并赋给变量GetCookie:string GetCookie = “”if (Request.CookiesMyCookie != null) GetCookie = Request.CookiesMyCookie.Value; 433.4 使用多值CookieResponse.CookiesPersonP_Name.Value = zhangsan;Response.CookiesPersonP_Email.Value = ;Response.CookiesPersonP_Home.Value = 北京;使用下列语句
24、可从上述多值Cookie中读取数据:yr_name = Request.CookiesPersonP_Name.Value;yr_email = Request.CookiesPersonP_Email.Value;yr_home = Request.CookiesPersonP_Home.Value;或string yr_name = Request.CookiesPerson.Values0;string yr_name = Request.CookiesPerson.Values1;string yr_name = Request.CookiesPerson.Values2;44示例1q在页面上的TextBox中输入一个用户名,然后点“注册”按钮,此时将用户名存入Cookie中,然后在页面加载
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据质量溯源-洞察及研究
- 视频行为分析技术-洞察及研究
- 障碍物检测精度提升-洞察及研究
- GB/T 46024-2025色漆和清漆用流出杯测定流出时间
- GB/T 45856-2025真空技术真空计皮拉尼真空计的规范、校准和测量不确定度
- 金属离子螯合作用-洞察及研究
- 非经典光产生-洞察及研究
- 视频内容分发的用户留存与付费转化研究-洞察及研究
- GB/T 45895-2025麻醉和呼吸设备医用气体不可互换螺纹(NIST)低压接头的尺寸
- 2025版环卫工人劳动合同与就业权益保障协议
- 住院病人防止走失课件
- 2025年临床助理医师考试试题及答案
- 2025年南康面试题目及答案
- 汽车标定工程师培训课件
- 速叠杯教学课件
- GB/T 45767-2025氮化硅陶瓷基片
- 2025年第十届“学宪法、讲宪法”活动知识竞赛题库及答案
- 地产直播活动方案
- 广东省安装工程综合定额(2018)Excel版
- 2025年云南省初中学业水平考试物理及答案
- 留疆战士考试试题及答案
评论
0/150
提交评论