首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

* 11.5  Application与Session对象的使用

Application与Session对象是网页数据共享的重要通道,在这一节将介绍其使用技巧和注意事项。

11.5.1  正确使用Application和Session变量

Session 变量不同于 Application 变量,其存储数据是用户专用数据,换句话说,除非是用户相关数据,否则使用 Session 变量只是浪费服务器的内存资源。例如,在 Session_Start()事件处理程序中建立 Session 变量,如下所示。

Sub Session_Start(ByVal Sender As Object,ByVal E As EventArgs)

   Session(" DBProvider")= " Microsoft.Jet.OLEDB.4.0;"

   Session("DBSource")= Server.Mappath("/Ch08/Users.mdb")

End Sub

上述过程建立Session变量DBProvider和DBSource。在ASP.NET程序中打开数据库连接的程序代码段,如下所示。

strDbCon = "Provider=" & Session(" DBProvider")& _

           "Data Source=" & Session("DBSource")

objCon = New OleDbConnection(strDbCon)

objCon.Open()

上述程序代码不论是500或5位用户,Session变量值都一样,存储500或5份相同内容的变量,只是在白白浪费内存空间。

Session变量的目的是存储用户专用数据,对于固定内容的变量,应该使用 Application变量。因为 Appliction 变量是共享给所有用户,它应该是在 Application_Start()事件处理程序中,如下所示。

Sub Application_Start(ByVal Sender As Object,ByVal E As EventArgs)

   Application(" DBProvider")= " Microsoft.Jet.OLEDB.4.0;"

   Application("DBSource")= Server.Mappath("/Ch09/Users.mdb")

End Sub

在 ASP.NET 程序中建立数据库连接的程序代码段如下所示。

strDbCon = "Provider=" & Application(" DBProvider")& _

           "Data Source=" & Application("DBSource")

objCon = New OleDbConnection(strDbCon)

objCon.Open()

上述程序代码不论是500或5 位用户,Application 变量都只有一份,所有用户存取相同的Application 变量。在第 11.7节中将介绍另一种方法来存储数据库连接字符串。

11.5.2  使用Application和Session对象存储对象

Application 和 Session 变量可以用来存储 Hashtable 集合对象,如下所示。

Dim userArray As Hashtable = New Hashtable(5)

Application("UserList")= userArray

不仅如此,还可以存储 ADO.NET 的 DataView 对象,如下所示。

Dim objView As DataView=New DataView(objDs.Tables(0))

Application("Source")= objView

上述程序代码的Application变量存储DataView对象的数据表记录数据。

虽然可以使用 Application 变量存储 ASP.NET 应用程序所需的数据,不过,数据最好是很少更改或只需加载一次的数据。例如,数据表中的商品数据很少更改,为了增加应用程序的执行效率,可以将这些数据使用 Application 变量存储在内存中。

ASP.NET程序范例保存在Ch11\Ch11-5-2文件夹中,在Global.asax文件的 Application_Start()事件处理程序中,从 XML 文件读入 DataView 对象后,建立 Application 变量存储 DataView 对象。

Ch11-5-2.aspx 使用 GridView 控件的数据绑定,以表格显示 Application 变量的 DataView 对象,如图11-9所示。

图11-9  Ch11-5-2.aspx运行结果

上图显示 Ch11-5-2.xml 文件内容,这是第 9 章输出 DataSet 对象建立的 XML 文件。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论