不能再用Public Static这样的方法了。
Posted 软若石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不能再用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里的原因。
以上是关于不能再用Public Static这样的方法了。的主要内容,如果未能解决你的问题,请参考以下文章
public void与public static void区别
在java中public void与public static void区别
这个代码声明有啥错误?除了接口成员只能是public static final
public static void main(String arg[]) 详细解释(转)