2013年7月23日 星期二

Session與Global.asax相關的筆記

最近開始在做網站的瀏覽統計
所以對這些方面參考了一些資源

Session
[ASP.NET]Session詳解
Session.Clear() or Session.Abandon() ?
[ASP.NET]Session的幾個有趣現象

特別的是我在Web.config上沒有發現到有關 sessionState 的標籤,但是可以自己新增。
而我所得到的重點是
  • sessionSate內的 mode 是 InProc 的話,Session_End的執行就會有效
  • sessionSate內的 cookieless 如果是 true,IIS會自動分配給你SessionID,不過這樣會使IsNewSession沒有用處
  • Session內的Clear指令是刪除Session的數值,而本身的Session會留著
  • 而Abandon是把Session整個刪除、下次登入之後就會分發新的Session,效果就如同timeout一樣,而且會觸發Global.asax內的Session_End事件
Global.asax

主要是控制網頁開啟、網頁出錯、客戶瀏覽等事件。

  • Application_Start 是在伺服器開啟時就會啟動這個事件
  • Application_BeginRequest 是傳送檔案時(如FileUpload)就會啟動這個事件
  • Session_Start 是客戶端只要一進到網頁就會啟動的事件
  • Session_End 是 mode 為 InProc 才會觸發的事件,只要是timeout或是執行Session.Abandon()都會觸發

沒有留言:

張貼留言