天天看點

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(40)-精準線上人數統計實作-【過濾器+Cache】

<a href="http://www.cnblogs.com/ymnets/p/3424309.html">系列目錄</a>

上次的探讨沒有任何結果,我浏覽了大量的文章和個别系統的參考!決定用Cache來做,這可能有點難以接受但是配合mvc過濾器來做效果非常好!

由于之前的過濾器我們用過了OnActionExecuting這個方法來判斷權限

現在在方法被執行後我們用OnActionExecuted來監聽使用者的操作和重新整理使用者線上清單

這個類庫包括了操作線上使用者清單的增删方法,大家可以下載下傳下來看并放到

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(40)-精準線上人數統計實作-【過濾器+Cache】

可以打開研究其代碼!

在App.Admin建立類OnlineHttpModule

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(40)-精準線上人數統計實作-【過濾器+Cache】

這個類在使用者登入時被調用和在過濾器被調用,調用代碼

過濾器:

登入時候的設定:

調用非常簡單,實作非常簡單!

現在看看如果擷取線上清單:

OnlineHttpModule可以自由設定統計的間隔(秒),和使用者逾時的時間,這很精準的統計了使用者2分鐘無操作被視為離線!

我分别用IE和chome測試了2個使用者,同時也關閉浏覽器測試使用者,準确性也不錯!抛棄了不準确的原始老方法

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(40)-精準線上人數統計實作-【過濾器+Cache】
建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(40)-精準線上人數統計實作-【過濾器+Cache】

繼續閱讀