静态变量当然是放在服务器内存中的。
问题是它对于一个asp.net应用程序是全局的。严格来说,不是说Page_Load每次都执行,
而是Init,Load,PreRender,UnLoad这些时间每次都执行

解决方案 »

  1.   

    那和使用Session有多大区别?那个对服务器压力大?
      

  2.   

    静态变量占大一些,一直在占用
    Session根据需要,可以释放
      

  3.   

    接分,
        我想压力的问题会比session 小很多,不会很大,毕竟static 是一个相对于class的 ,至少static的东西不会有时间限制,
      

  4.   

    接分,
    我也想知道倒底是session占用资源大还是static大
      

  5.   

    static 是静态变量,意思是一个类的固有值,只要这个类存在(引用)那么静态变量也存在,网页第一次加载时,Page _Load调用类,那么类存在,并且服务器于客户端没有断开,因此,类没有消失,所以静态变量可以存储。但是New一个对象则不可以,这个很明显。所以,变量都是在服务端,只是存储的格式不同。
      

  6.   

    接分   static在服务器上保存,被所有浏览器共享,所以在项目中最好不要用,我是吃过这个苦了!:(
      

  7.   

    当一个页面执行完成后,在服务器端是不会保存任何有关这个页面的数据的(包括SESSION,但APPLICATION例外),这些数据都是通过COOKIE的形式保存到客户端。所以,你声明为STATIC的变量的也不会保存服务器内存中。在以前,我们如果要保存有关数据,除了使用COOKIE(如SESSION),另外就是使用form表单的hide域,比如你想一个数据在下次页面调用时使用,可以定义一个input,其type为hide,这样,在页面中就可以通过request来获得需要的数据了。在.NET中也一样。.NET的PAGE有一个VIEWSTATE属性集,它们的数据就是使用HIDE域来保存的,对于你上面提到的数据,我想,你可以直接的保存到viewstate(需要手动干预),也可以使用你说的static修饰,这些数据都是使用HIDE域来保存在网页中的,你可以查看源文件获得,当然,这些数据都是经过处理的,不一定能看明白。
      

  8.   

    static 不怎么样阿
    不过客户端少的情况下,
    可以考虑
      

  9.   

    Session服务器会自动清除
    而静态变量可能会越积越多吧
    我想就占用资源来讲静态变量会少一点同时也祝大家圣诞快乐!
    同时也是来接分的
    :) :) :)
      

  10.   

    我同意楼上的,static和session性能是有区别的。
    session是一个Hashtable,里面存的是object类型,读取时需要强类型转换,以得到自己的类型。session会因为会话超时而结束。
    static静态变量变量是全局的,他属于一个应用程序域不会因为类实例的创建才创建。
    不过他有一个好处就是不需要强类型转换。访问速度要比session快。
      

  11.   

    如果这样的内容少的话,可以用application["aaa"] = value;
      

  12.   

    >>那和使用Session有多大区别?那个对服务器压力大?Session 和 static Member没有可比性,他们的适用范围是不一样的
    static Member相当于 Application 而不是Session
      

  13.   

    接分HAPPY :)接分HAPPY :)