不能再用Public Static这样的方法了。

定义了Public Static之类的方法。当访问量大的时候。就会出现严重的错误,而且很难发现。

public void InsertVisitStatBrowse(string sessionID, int companyID, string viewURL,string fromURL,string fromEngine,string theYear, string theMonth, string theDay, string theHour)
  {
   //
   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);  
   }
  }

如上面的方法。当给myRow赋值后,执行Rows.Add的时候,这时可能别的调用刚执行完 DataRow myRow=myTable.NewRow();,所以程序就会提示“未将对像引用设置到对像的实例”。

*****************************

以上的程序代码在访问量小的时候没有多大问题,但当访问量大的时候,就会经常出现“未将对像引用设置到对像的实例”。,所以我得到了上面的分析结果,不知道是否正确。我把static去掉,改成了实例引用的方法后。偶而也会出现那样的错误,但很多了。我想可能也是并发的原因。也可能是因为操作对像放在Application里的原因。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值