asp.net application,session,static 几种变量生命周期及用法 收藏
asp.net application,session,static 幾種變量生命周期及用法 收藏
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
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的asp.net application,session,static 几种变量生命周期及用法 收藏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp.net session 介绍一三
- 下一篇: 【软件质量】CMM与CMMI