banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows [ASP.Net] Đếm số lượng người đã truy cập  XML
  [Question]   [ASP.Net] Đếm số lượng người đã truy cập 02/08/2008 01:24:43 (+0700) | #1 | 144669
[Avatar]
Cuni
Member

[Minus]    0    [Plus]
Joined: 28/07/2008 14:13:31
Messages: 1
Offline
[Profile] [PM]
Làm thế nào để đếm số lượng người đã truy cập? bài viết này sẽ trả lời cho bạn.

Code:
global.asax
Code:
<script language="c#" runat=server>
    // sử lý sự kiện Session Start
    void Session_Start()
    {
        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(){

    }
    void Application_OnStart(){
       
    }
    void Application_OnEnd(){

    }
    </script>


main.aspx
Code:
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="utf-8" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
    <body>
    <!–Hiển thị số người đả truy cập–>
    Đả có <strong><%=Application["count_visit"].ToString()%> </strong> người viến thăm
    </body>
    </html>


Download code: http://www.box.net/public/7yx1keovzx

Nguồn: ThanhTam-infoworldschool
[Up] [Print Copy]
  [Question]   Re: [ASP.Net] Đếm số lượng người đã truy cập 02/08/2008 11:18:23 (+0700) | #2 | 144761
youngperson10
Member

[Minus]    0    [Plus]
Joined: 26/06/2006 00:03:54
Messages: 30
Offline
[Profile] [PM]
Cái source trên hình như chưa xử lý vấn đề nhiều tiểu trình truy xuất đồng thời cái file thì phải?
Vd:
- Hiện tại file count_visit là 5
- Tiểu trình 1 mới đọc xong file (count=5)
- Tiểu trình 2 sắp đọc tới chỗ ghi (lúc này count = 6)
-----
Tiểu trình 2 giành quyền xử lý trước
Tiểu trình 1 xử lý sau
Kq là file count_visit có ndung là 6 thay vì 7 mới đúng.

Code:
<script language="c#" runat=server>
     // sử lý sự kiện Session Start
     void Session_Start()
     {
         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{
             [color=red]// Đọ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();[/color]
 
             // 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();
        
        [color=red] // 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();[/color]
     }
     void Session_End(){
 
     }
     void Application_OnStart(){
        
     }
     void Application_OnEnd(){
 
     }
     </script>
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|