• application、static、Session、ViewState 的区别


    【转】http://blog.csdn.net/diligentcat/archive/2010/04/15/5487958.aspx

    Application 是应用程序级变量,如果用到多个用户之间的通信的时候用,多用在网站计算器等,存活于整个应用程序运行周期

    static 作用于应用程序整个运行周期,

    Session运行设定的时间周期.   只能用在某个特定会话期间,多用在存储某个会话区间用户的数据.   是用户变量,一个用户访问多个页面时可以保存数据到另一个页面,只要此用户不注销就可以   在asp.net web应用程序中,有时session会很容易过期,可把web.config 文件中的 sessionState mode r的设置改成如下: mode="StateServer" 即可解决
    static   在内存中要比Session在服务器端要快.  
    ViewState     页面变量,相当于页面全局变量,但是一旦退出当前页面,它就会丢失

    -----------------------

    application 与 static 的区别


    Application是通过一个集合保存所有的对象。
    强类型:
    Application中保存的是object,对对象的保存和使用需要作cast动作。对于值类型更需要Box&UnBox。对性能的影响较大。

    而static变量是强类型的对象。

    线程同步:

    Application将所有的对象放到一个集合,这样对访问集合中的任何对象都会锁定这个集合。
    假如有Application["A"]、Application["B"]、Application["C"],有线程访问Application["A"]其他线程不能访问Application["B"] and Application["C"]。

    而static变量,可以根据他们的作用分别放在不同的class当中。这样可以并行访问不同的static变量,而不存在线程安全问题。


    1. 对static变量,做lock时。可以通过lock(typeof(classname))来锁定该变量所在的类的类型,达到线程同步的目的。

    2. 由于Aplication,static 是全局变量,而我们是在多线程服务器环境写程序,对他们的使用需要注意线程安全的问题。 

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huwei2003/archive/2008/11/15/3304592.aspx

  • 相关阅读:
    bootstrap模态框视频,图片,页面
    curl 的用法指南
    springboot tomcat设置https,springboot配置ssl
    expect脚本
    java8新特性CompletableFuture
    Windows自动备份Oracle数据库
    SQL语句对单个的MySQL存储过程导出
    Oracle表空间的使用
    Oracle数据库基本操作
    Linux 查询 OS、CPU、内存、硬盘信息
  • 原文地址:https://www.cnblogs.com/liuhaitao/p/1994206.html
Copyright © 2020-2023  润新知