首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

详细介绍ASP.NET状态保存方法

服务器端保存方式一般有如下3种:

存储页信息的服务器端选项往往比客 户端选项具有更高的安全性,但它们可能使用更多的 Web 服务器资源,这可能在信息存储量较大时导致可缩放性问题。

1     Application:

利用场合:所有的请求都会需要的 一些共有资源,由最先的一个请求率先获取之后,拿出来共享,其他的请求就不用浪费资源进行再次获取。典型利用场合:一个股市 Web 站点可能在一天中每 5 分钟从数据库获取大量的金融股票信息(也许是 40 MB 的数据),然后将这些信息缓存在应用程序状态中,这样所有以后的查找请求都可以在应用程序状态中访问这些信息。其结果是极大地提高了每个 请求的性能,因为传入的请求不需要跨进程、跨计算机或数据库的往返过程。

        '首次Http Get請求

        If Not Me.IsPostBack Then

            '先判断Application中是否已経有了緩存

            If Application.Item("Database") Is Nothing Then

                '若没有,从DataCenter中獲取

                Dim ds As New DataSet

                ds.ReadXml(Server.MapPath("TestData.xml"))

                Dim dv As New DataView(ds.Tables(0))

                '拿到之后, 緩存到Application,方便別的进程Http Get請求復用

                Application.Add("DataBase", dv)

            End If

            Dim dv1 As DataView

            dv1 = Application.Item("DataBase")

            '緩存到Session, 方便当前进程的Http Post請求

            Session.Add("DataBase", dv1)

        End If

优点:易于实现,全局范围。

缺点:持久性,若 保存数据的服务器端进程被强行关闭,那么数据就会丢失,所以利用Application一定要有保底的策略,有的话就使用,没有的话就自己拿。耗用服务器端的内存。

注意:因为Application中的数据被多个进程公用,所以若需要更新其中的值时,需要利用 如下的语句,做到独占更新:

                Application.Lock()

                Application.Item("DataBase ") = NewDataBase

                Application.UnLock()

2     Session:

利用场合:单独的一个进程内部使用,存储单独会话的短期的、敏感的数据。

优点:易于实现,持久性,可以应对IIS重启和辅助进程重启, 可在多进程中使用

缺点:耗用服务器端的内存。

3     Database:

优点:安全性。 容量。 持久性。 可靠性和数据完整性。 可访问性。 广泛支持。

缺点:复杂,性能

方法    使用场合       

应用程序状态    存 储更改不频繁的全局信息,这些信息由多个用户使用,此时安全性不成为问题。不要在应用程序状态中存储大量的信息。   

会话状态        存储特定于单独会话的短期信息,并且需要较高的安全性。不要在会话状态中存储 大量的信息。在支持许多用户的应用程序中,这可能会占用大量服务器资源并影响可缩放性。     

数据库支持      存储大量信息,管理交易,或者信息必须可以经受得住应用程序和会话重新启动。数据挖掘十分重要,并且需要较高的安全性。

上一页  [1] [2] 

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航