Viet' Library

Hơn tất cả những gì bạn có!

Đếm số người truy cập website, số người Online,Global.asax

Trước tiên: tạo file Global.asax có nội dung như sau:
<%@ Application Language=”C#” %>

 <script runat="server">
   void Application_Start(object sender, EventArgs e){
       // Code that runs on application startup
       Application["OnlineUsers"] = 0;
   }
   void Application_End(object sender, EventArgs e){
      //  Code that runs on application shutdown
   }
   void Application_Error(object sender, EventArgs e){
     // Code that runs when an unhandled error occurs
   }
   void Session_Start(object sender, EventArgs e) {
     // Code that runs when a new session is started
     Application.Lock();
     Application["OnlineUsers"] = (int)Application["OnlineUsers"] + 1;
     Application.UnLock();
     int count_visit = 0;


     //Kiểm tra file count_visit.txt nếu không tồn tại thì
     if (System.IO.File.Exists(Server.MapPath("count_visit.txt")) == false) {
         count_visit = 1;
     }
     // Ngược lại thì
     else {
         // Đọc dử liều từ file count_visit.txt
         System.IO.StreamReader read = new  System.IO.StreamReader(Server.MapPath("count_visit.txt"));
         count_visit = int.Parse(read.ReadLine());
         read.Close();
       // Tăng biến count_visit thêm 1
       count_visit++;
      }

     // khóa website
     Application.Lock();

     // gán biến Application count_visit
     Application["count_visit"] = count_visit;

     // Mở khóa website
     Application.UnLock();

     // Lưu dử liệu vào file count_visit.txt
     System.IO.StreamWriter writer = new  System.IO.StreamWriter(Server.MapPath("count_visit.txt"));
      writer.WriteLine(count_visit);
      writer.Close();
   }
   void  Session_End(object sender, EventArgs e){
     Application.Lock();
     Application["OnlineUsers"] = (int)Application["OnlineUsers"] - 1;
     Application.UnLock();
  }
</script>

Trong file Webconfig chúng ta thêm:

<system.web>
 <!--Đếm số người online -->
      <sessionState mode="InProc" cookieless="false" timeout="20"/>
 <!-- hết --> 	</system.web>

Để hiển thị trên site chúng ta làm như sau, tôi sẽ cho hiển thị ra bảng:

<table width="100%">
   <tr bgcolor="#3399ff">
      <td style="width: 174px">
       <%= Application["OnlineUsers"].ToString() %> Users Online
      </td>
   </tr>
   <tr bgcolor="#ff66ff">
       <td>
       Has :<%=Application["count_visit"].ToString()%> Visitors
       </td>
   </tr>
</table>

Chúc các bạn thành công!

Nguồn: internet

Advertisements

Thứ Ba, 30,Tháng Mười Một, 2010 - Posted by | Source VB & C# for Web, Vb & C# for Asp.net

Không có bình luận

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s

%d bloggers like this: