今天终于找到了方法,那就是Application.Lock()。这个在ASP里就已经用到的方法。现在竟然还需要别人提醒。晕。。。

 

 

 

public void InsertVisitStatBrowse(string sessionID, int companyID, string viewURL,string fromURL,string fromEngine,string theYear, string theMonth, string theDay, string theHour)
  {
   HttpContext.Current.Application.Lock();
   //
   try
   {
    DataSet myDS=((DataSet)HttpContext.Current.Application["DaoGouDataSet"]);
    SqlDataAdapter myDA= (SqlDataAdapter)HttpContext.Current.Application["DaoGouDA"];
    DataTable myTable=myDS.Tables["VisitStatBrowse"];

    DataRow myRow=myTable.NewRow();
    myRow["sessionID"]=sessionID;
    myRow["companyID"]=companyID;
    myRow["viewURL"]=viewURL;
    myRow["fromURL"]=fromURL;
    myRow["fromEngine"]=fromEngine;
    myRow["theYear"]=theYear;
    myRow["theMonth"]=theMonth;
    myRow["theDay"]=theDay;
    myRow["theHour"]=theHour;
    myRow["ViewNumber"]=1;
    myTable.Rows.Add(myRow);
   }
   catch(Exception ex)
   {
    WebLog.WriteLog("插入数据到浏览统计出现了错误:" + ex.Message);  
   }
   HttpContext.Current.Application.UnLock();
  }

 

 

 

这样,在多用户并发的时候就会出现上一篇文章里说的当一上用户操作,另一个用户把操作对象重置的情况了。


本文转载:CSDN博客