這是一個客戶的需求
要求記錄使用者的使用時間,因此就必須要記錄留在系統的時間
登入時間沒問題,但是使用者並不是每個都那麼乖,乖乖的按下登出(我自己都這樣了)
因此就要想辦法攔截到window close的事件
但是window close是client的狀態,並不會跟server溝通,所以就要想辦法自己通知了
首先先找到攔截window close的事件 window.onunload
然後再來找怎麼通知server,之前有看過CallBack的作法
想說用XmlHTTP,或許可行
後來找到強者連JavaScript都寫好了
www.blueshop.com.tw/board/show.asp
稍微修改一下把javascript寫進masterpage(這點或許以後再加工包進去server,這樣連要記錄的page都可以參數化)
然後在新增一個CloseWindows.aspx
因為還沒有決定DB要怎麼記錄,所以我就先用log4net記錄
出來的結果
2009-07-02 10:43:59,723 INFO RollingFileAppender d:/WebApp/VS2008/SFA/CloseWindows.aspx.cs21 [(null)]
使用者關閉視窗!!