成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當前位置:首頁>>開發編程>>VS.NET>>新聞內容
用ASP.NET實現在線用戶統計
作者:佚名 發布時間:2004-5-17 17:37:15 文章來源:西部E網

  統計在線用戶的作用不言而喻,就是為了網站管理者可以知道當前用戶的多少,然后根據用戶數量來觀察服務器或者程序的性能,從而可以直觀的了解到網站的吸引力或者網站程序的效率。現在,我們就介紹一個簡單明了的方法來統計在線用戶的多少,該方法的特點就是充分的利用了ASP.NET的特點,結合global.asax文件,用Application和Session巧妙的實現在線用戶的統計,由于程序中只用到一個Application,所以,程序占用系統資源幾乎可以忽略不及,當然,這也是網站管理者最關心的問題之一。

  一、用戶顯示頁面的使用

  首先,我們來看看怎樣現實當前網站的訪問用戶數量,程序代碼如下:  

   <%@ Page Language="c#" debug="true" %>
  <html>
  <head>
  <SCRIPT LANGUAGE="c#" RUNAT="server">
  private void Page_Load(object sender, System.EventArgs e)
  {
  Visitors.Text = "本站當前有: <b>" + Application["user_sessions"].ToString() + "" + "</b> 位訪問者 !";
  }
  <title>在線用戶</title>
  </head>
  <body>
  <asp:label id="visitors" runat="server" /><br>
  </body>
  </html>   

  可以看出,以上的程序特別簡單,就是調用Application。當然,我們不必要專門設計一個頁面來顯示在線用戶數量,在網站的任何頁面,我們都可以直接調用Application("user_sessions").ToString()來顯示當前用戶數量。

  二、global.asax文件實現
  global.asax文件的作用我們自不必說,現在,我們直接來看統計當前在線用戶數量如何實現: 

   <script language="c#" runat="Server">
  protected void Application_Start(Object sender, EventArgs e)
  {
  Application["user_sessions"] = 0;
  }
  protected void Session_Start(Object sender, EventArgs e)
  {
  Application.Lock();
  Application["user_sessions"] = (int)Application["user_sessions"] + 1;
  Application.Unlock();
  }
  protected void Session_End(Object sender, EventArgs e)
  {
  Application.Lock();
  Application["user_sessions"] = (int)Application["user_sessions"] - 1;
  Application.Unlock();
  }
  </script>   

  以上代碼很容易理解,當網站開始服務的時候(Application開始的時候),程序設置Application["user_sessions"]為零,然后,當用戶進入網站(Session開始的時候)的時候,鎖定Application,然后,將application("user_sessions")加一,用戶退出網站的時候,application("user_sessions")減一。這樣,就很巧妙的實現了在線用戶的統計。

  三、一點討論

  以上的統計,簡明扼要,程序很容易實現。但是,如果我們仔細考慮,發現該方法有一定的局限,統計出來的在線用戶數量可能稍微有點誤差。因為我們在以上程序中,是根據用戶建立和退出會話(Session)來實現在線人數的加減的,而我們知道,如果用戶沒有關閉瀏覽器,而進入另外一個網站,那么,這個會話在一定的時間內是不會結束的,這個時間我們可以通過TimeOut來設置,一般的,我們設置為20分鐘。所以,在用戶數量統計上面,還是存在一點誤差的。

  另外,我們知道,在ASP中,如果用戶將瀏覽器上面的Cookies設置為“禁用”,那么,Session就不能再被傳遞,顯然,這樣設置讓以上的統計程序無能為力。不過,在ASP.NET中我們有解決方法,在config.web文件中,我們將<sessionstate cookieless="false" />設置為true就可以了,也就說,不使用Cookies也可以傳遞Session。這樣,我們的程序就可以在不同的訪問者環境中順利運行。

  四、總結

  以上的統計程序特別簡單,但是,細節的東西我們不一定想到,這也是我們在編程中需要多一點考慮的。


最新更新
·C#中使用Split分隔字符串的技
·VS2008開發中Windows Mobile
·PC機和移動設備上絕對路徑的
·C#程序加殼的方法(使用Sixx
·當前上下文中不存在名稱Conf
·請插入磁盤:Visual Studio 2
·用VS.NET讀取Flash格式文件信
·在ASP.NET中使用AJAX的簡單方
·VS.NET 2005中常用的一些代碼
·安裝VS.NET 2005 SP1補丁全攻
相關信息
畫心
愚愛
偏愛
火苗
白狐
畫沙
犯錯
歌曲
傳奇
稻香
小酒窩
獅子座
小情歌
全是愛
棉花糖
海豚音
我相信
甩蔥歌
這叫愛
shero
走天涯
琉璃月
Nobody
我愛他
套馬桿
愛是你我
最后一次
少女時代
灰色頭像
斷橋殘雪
美了美了
狼的誘惑
我很快樂
星月神話
心痛2009
愛丫愛丫
半城煙沙
旗開得勝
郎的誘惑
愛情買賣
2010等你來
我叫小沈陽
i miss you
姑娘我愛你
我們都一樣
其實很寂寞
我愛雨夜花
變心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK繃
貝多芬的悲傷
哥只是個傳說
丟了幸福的豬
找個人來愛我
要嫁就嫁灰太狼
如果這就是愛情
我們沒有在一起
寂寞在唱什么歌
斯琴高麗的傷心
別在我離開之前離開
不是因為寂寞才想你
愛上你等于愛上了錯
在心里從此永遠有個你
一個人的寂寞兩個人的錯
主站蜘蛛池模板: 汤阴县| 读书| 神农架林区| 拉萨市| 图们市| 包头市| 上虞市| 浦东新区| 内丘县| 崇明县| 峨眉山市| 奇台县| 南阳市| 同江市| 永兴县| 龙游县| 温宿县| 四子王旗| 阳春市| 壤塘县| 本溪市| 卢湾区| 嫩江县| 盖州市| 微博| 民勤县| 江油市| 德庆县| 兴国县| 福鼎市| 南城县| 兴化市| 天气| 澄迈县| 稷山县| 浪卡子县| 武乡县| 开封市| 邵阳市| 两当县| 昭苏县|