使用Global.asax全局變量可以避免刷新頁(yè)面導(dǎo)致計(jì)數(shù)器刷新。
void Application_Start(object sender, EventArgs e) 
   { 
       //在應(yīng)用程序啟動(dòng)時(shí)運(yùn)行的代碼,IIS重新啟動(dòng)時(shí)刷新計(jì)數(shù)器。 
       Application["count"] = 0; 
   }
void Session_Start(object sender, EventArgs e) 
   { 
       //在新會(huì)話(huà)啟動(dòng)時(shí)運(yùn)行的代碼,會(huì)話(huà)建立,計(jì)數(shù)器+1,防止錯(cuò)誤先鎖定后解鎖。重復(fù)刷新頁(yè)面不會(huì)更改計(jì)數(shù)器,只有建立新會(huì)話(huà)才可以。 
       Application.Lock(); 
       Application["count"] = (int)Application["count"] + 1; 
       Application.UnLock(); 
   } 
void Session_End(object sender, EventArgs e) 
   { 
       //在會(huì)話(huà)結(jié)束時(shí)運(yùn)行的代碼。此處主要是用來(lái)統(tǒng)計(jì)在線(xiàn)人數(shù),如只需要計(jì)數(shù),可以不需要此處代碼。  
       // 注意: 只有在 Web.config 文件中的 sessionstate 模式設(shè)置為 
       // InProc 時(shí),才會(huì)引發(fā) Session_End 事件。如果會(huì)話(huà)模式 
       //設(shè)置為 StateServer 或 SQLServer,則不會(huì)引發(fā)該事件。 
       Application.Lock(); 
       Application["count"] = (int)Application["count"] - 1; 
       Application.UnLock(); 
   }
protected void Page_Load(object sender, EventArgs e) 
    {
        //頁(yè)面中直接使用Application["count"]。 
        Response.Write("你是本網(wǎng)站第"+Application["count"]+"個(gè)訪(fǎng)問(wèn)者"); 
    }
注意:Application與Session的區(qū)別。前者為應(yīng)用程序的變量,后者為會(huì)話(huà)的變量。則前者保持時(shí)間長(zhǎng),不得亂用。