ASP.NET数据库应用程序开发教程 教学课件 ppt 作者 陈志泊 第7章 ppt

上传人:E**** 文档编号:89386745 上传时间:2019-05-24 格式:PPT 页数:39 大小:415.50KB
返回 下载 相关 举报
ASP.NET数据库应用程序开发教程 教学课件 ppt 作者  陈志泊 第7章 ppt_第1页
第1页 / 共39页
ASP.NET数据库应用程序开发教程 教学课件 ppt 作者  陈志泊 第7章 ppt_第2页
第2页 / 共39页
ASP.NET数据库应用程序开发教程 教学课件 ppt 作者  陈志泊 第7章 ppt_第3页
第3页 / 共39页
ASP.NET数据库应用程序开发教程 教学课件 ppt 作者  陈志泊 第7章 ppt_第4页
第4页 / 共39页
ASP.NET数据库应用程序开发教程 教学课件 ppt 作者  陈志泊 第7章 ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《ASP.NET数据库应用程序开发教程 教学课件 ppt 作者 陈志泊 第7章 ppt》由会员分享,可在线阅读,更多相关《ASP.NET数据库应用程序开发教程 教学课件 ppt 作者 陈志泊 第7章 ppt(39页珍藏版)》请在金锄头文库上搜索。

1、2019/5/24,ASP.NET 数据库应用程序开发,1,ASP.NET 数据库应用程序开发,ASP.NET 数据库应用程序开发,主 编:陈志泊 参与人员:,2019/5/24,ASP.NET 数据库应用程序开发,3,第7章 网页间的数据共享,一个基于B/S模式的系统,不可能只有一个页面,在很多情况下,需要多个页面来完成特定的功能,而这多个页面之间必然要产生一定的联系,也就是说,网页之间需要进行数据的共享。比如在第5章中讲过,利用DataGrid的超级链接列在两个网页之间传递参数,除此之外,还有更广泛的数据共享,比如使用Application对象、Session对象、文件等。下面先分析一下网

2、页间共享数据的几种情况。,7.1 网页间共享数据的几种情况,2019/5/24,ASP.NET 数据库应用程序开发,4,7.1.1同一网页内,在ASP.NET项目中,每个ASP.NET的页面都对应一个扩展名为.cs的程序文件,而这个程序文件是由多个函数组成,在这些函数之间需要进行数据共享,另外,由于页面状态会发生改变,也可能需要数据共享,比如由于在表单中按下按钮迫使页面重新执行,重新被执行的网页与原网页的状态就发生了改变。在同一网页内共享数据有如下几种方式。 1利用全局变量 2利用服务器控件,2019/5/24,ASP.NET 数据库应用程序开发,5,7.1.2. 同一窗口不同网页间,若某一功

3、能需要多个网页来完成,而当用户是在同一个浏览器窗口先后进入这些网页,而不是中途打开新页面时,属于同一窗口内不同网页间的数据共享。前面介绍过的传递参数是解决这种情况下数据共享的一种方法,另外,利用Session对象、Cookies对象也非常普遍。,2019/5/24,ASP.NET 数据库应用程序开发,6,7.1.3同一机器不同窗口间,当用户在同一台机器上,打开多个浏览器窗口,浏览不同或相同的网页时,属于同一机器不同窗口间的数据共享,这种情况以利用Cookies对象最为普遍。,2019/5/24,ASP.NET 数据库应用程序开发,7,7.1.4不同机器间,当有不同的用户在不同机器上浏览网页,可

4、能浏览相同或不同的网页,可能同时或不同时浏览,这种情况属于不同机器间的数据共享。这种情况以利用Application对象、文件、数据库进行数据共享最为普遍。,2019/5/24,ASP.NET 数据库应用程序开发,8,上表中列出的只是普遍的状况,在编程时可以根据实际情况采 取合适的方案,大多数情况下都会采取综合解决方案。 为了便于说明,在.NET中新建一个项目Share,本章的示例程序 都在该项目中书写。,2019/5/24,ASP.NET 数据库应用程序开发,9,7.2 Application对象 7.2.1 Application对象介绍,1Application对象的使用 通过Appli

5、cation对象读取和写入数据的方法如下: 读取数据: 数据 = Application索引号 或者 数据 = Application“数据名称” 写入数据: Application索引号 = 数据 或者 Application“数据名称” = 数据 清除单个数据: Application.Remove(“数据名称”) 或者 Application.RemoveAt(索引号) 清除所有数据: Application.Clear() 或者 Application.RemoveAll() 其中索引号是对写入Application对象中数据的一个编号,第一个被写入的数据索引号为0,以后的依次加1。,

6、2019/5/24,ASP.NET 数据库应用程序开发,10,【例7.1】Application对象的使用。 在Share项目中添加一个新页面App.aspx,在代码页面中的Page_Load()函数体中添加代码 ,详细代码请参看教材。,2019/5/24,ASP.NET 数据库应用程序开发,11,注意,不能直接将Application对象中的值拿来作 为数据进行运算,如: Application“temp“ = Application“temp“ + 1; 由于Application“temp”是Object类型,而1是 值类型,不能直接相加,需要进行强制类型转 换,如下: Applicat

7、ion“temp“ = (int)(Application“temp“) + 1;,2019/5/24,ASP.NET 数据库应用程序开发,12,2Application对象的生命周期 如同变量有自己的生命周期一样,Application对象也是有生命周期的,它起始于IIS开始运行,终结于IIS停止或关机时。当IIS停止运行或者服务器被关掉之后,存放在Application对象中的数据也随之消失,如果希望在IIS停止或者关机之后数据依然能够保存,就必须将数据存到文件或数据库里。,2019/5/24,ASP.NET 数据库应用程序开发,13,3Application对象的锁定 由于Applica

8、tion对象是所有用户共享同一个对象,因此不可避免会产生两位用户同时浏览一个网页的情况,以App.aspx页面为例,如果有两位用户同时访问它,那么他们从Application对象中读取到的值相同,都是100,然后同时执行加1语句,再写回Application,结果是101,而实际上却少加了1。 为了解决这个问题,Application对象提供了锁定方法,在对Application对象中的数据进行修改时,必须先将其锁定,修改完之后进行解锁,这样才不会有数值少加的情况发生。 为上例增加锁定代码。,2019/5/24,ASP.NET 数据库应用程序开发,14,7.2.2 Application对象的

9、实际应用,Application对象最常见的应用是用来统计页面的访问次 数,或者是记录网站的在线人数。下面的例子说明了如何利用Application对象统计页面的访问次数。 【例7.2】利用Application对象统计页面的访问次数。 Appliacaion对象提供了两个非常重要的事件,即开始和结束事件,分别对应Application_Start()和Application_End()函数,前者在IIS开始工作时被激发,后者在IIS停止运行时被激发,这两个事件可以用来对Application对象做一些预先或善后的处理。事件对应的两个函数由Global.asax文件来提供,需要说明的是,Glo

10、bal.asax文件是由ASP.NET项目所提供,并不需要手工添加。,2019/5/24,ASP.NET 数据库应用程序开发,15,1)在Share项目中,在解决方案资源管理器窗口中找到Global.asax文件,右击该文件,在快捷菜单中单击“查看代码”菜单项,打开它的代码文件,在代码中找到Application_Start()函数,在函数体中添加代码 。具体代码请参看教材。 2)然后在项目中添加一个页面命名为Count.aspx,在其代码文件的Page_Load()函数中添加代码 。,2019/5/24,ASP.NET 数据库应用程序开发,16,运行程序,可以看到页面被访问了1次,把页面刷新

11、几 次,可以看到访问次数随刷新次数的增加而增加。,2019/5/24,ASP.NET 数据库应用程序开发,17,7.3 Session对象 7.3.1 Session对象介绍,1Application对象和Session对象的区别,2019/5/24,ASP.NET 数据库应用程序开发,18,2Session对象的使用 通过Session对象读取和写入数据的方法如下: 读取数据: 数据 = Session 索引号 或者 数据 = Session “数据名称” 写入数据: Session 索引号 = 数据 或者 Session “数据名称” = 数据 清除单个数据: Session.Remove

12、(“数据名称”) 或者 Session.RemoveAt(索引号) 清除所有数据: Session.Clear() 或者 Session.RemoveAll() 这里的索引号也是从0开始的整数。,2019/5/24,ASP.NET 数据库应用程序开发,19,【例7.3】Session对象的使用。 1)在Share项目中添加一个页面命名为Ses.aspx,从工具箱中拖一个Button控件到页面上,右击Button控件,在出现的快捷菜单中单击“属性”菜单项,在出现的属性窗口中将Text属性值设置为PostBack。 依照教材说明为该页面添加代码。 2)在解决方案资源管理器中右击Ses.aspx文件

13、,在出现的快捷菜单中选择“设为起始页”菜单项,启动程序并单击页面上的PostBack按钮 。,2019/5/24,ASP.NET 数据库应用程序开发,20,2019/5/24,ASP.NET 数据库应用程序开发,21,该程序在页面提交(PostBack)之前将数据写入Session对象,页面提交之后(单击PostBack按钮),将数据从Session对象中取出来并写在页面上。,提交前的页面,提交后的页面,Session对象,2019/5/24,ASP.NET 数据库应用程序开发,22,3Session对象的生存期 IIS服务器默认情况下设置Session对象的生存期为20分钟,即,当用户在20

14、分钟内没有访问任何网页,该用户所使用的Session对象会被全部释放。 可以通过两种方式修改Session的生存期限。第一种,可以通过Web.config文件,在Web.config文件中找到SessionState节,修改timeout=“20“这句话。第二种,可以在程序文件中修改,Session对象提供了Timeout属性用来设置Session的超时期限,单位是分钟,下面的语句将Session的生存期设置为60分钟。 Session.Timeout = 60;,2019/5/24,ASP.NET 数据库应用程序开发,23,7.3.2 Session对象的实际应用,Session对象的典型应

15、用是用来对用户的身份进行验证,进而进行权限设置。对于一个系统来说,用户登陆的时候将其用户名记录到Session中,以后他访问一个网页的时候,首先判断Session中的用户名是否为空,如果为空,说明已经超时或者他没有登陆而是在浏览器中直接输入页面地址进行访问,则转回登陆页面,如果是正确的用户名,才允许他访问该页。,2019/5/24,ASP.NET 数据库应用程序开发,24,【例7.4】Session对象在身份验证中的使用。,2019/5/24,ASP.NET 数据库应用程序开发,25,7.4 Cookie对象 7.4.1 Cookie对象介绍,1Cookie和Application、Sessi

16、on的异同 首先,Application和Session对象中所共享的数据是放在服务器端,而Cookie对象的共享的数据放在客户端,其次,Cookie对象只能存放简单的数据类型,如数字、字符串、日期等,而Application和Session对象可以存放对象等复杂的数据类型,比如,可以把一个DataSet对象放到Session对象中,第三,Cookie对象和Session对象有些类似,每个浏览器拥有各自的Cookie和Session对象,而Application是所有用户共享一个对象。,2019/5/24,ASP.NET 数据库应用程序开发,26,2Cookie对象的使用方法 Cookie对象是依附于Response和Request的子对象,它不像Application和Session一样可以单独使用,使用时须在前面加上“Response.”或者“Request.”。 写入数据: Response.Cookies“数据名称”.Value = 数据 读取数据: data1 = Request.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号