求助:asp.net 应用程序中的服务器错误

xingluoqibu 2005-03-27 09:47:22
站点运行一定时间后,出现如下错误

“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[NullReferenceException: 未将对象引用设置到对象的实例。]
Onest.Wallpager.Index.Page_Load(Object sender, EventArgs e)
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
...全文
118 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
foxtoo2000 2005-03-28
  • 打赏
  • 举报
回复
奇怪了...........
不应该啊,你是什么系统阿!
lovelxj 2005-03-28
  • 打赏
  • 举报
回复
男儿漆下有黄金啊。。。。。

调试跟踪 来个压力测试
xingluoqibu 2005-03-28
  • 打赏
  • 举报
回复
跪求高手帮忙,高分结贴
顶一下
xingluoqibu 2005-03-28
  • 打赏
  • 举报
回复
我是用的SQL2000呀
zhang5wen 2005-03-28
  • 打赏
  • 举报
回复
我的也是经常产生这种错误,运行一段时间后就会出现错误,找不到解决方法。我认为是连接数据库的问题,如果是ACCESS数据库,当页面连续请求连接时就会出现错误,原因是可能ACCESS数据库只能以独占方式打开,当有两个页面同时请求时,就产生冲突,建议改用SQLServer2000数据库
xingluoqibu 2005-03-28
  • 打赏
  • 举报
回复
我个人电脑是win2003,服务器是win2000AS
xingluoqibu 2005-03-28
  • 打赏
  • 举报
回复
压力测试没有出现问题

以下是page_load代码

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(Array.IndexOf(Request.Params.AllKeys,"account",0,Request.Params.Keys.Count) != -1)
{
strAccount = Request.Params["account"].ToString();
}
if(Array.IndexOf(Request.Params.AllKeys,"navigation",0,Request.Params.Keys.Count) != -1)
{
strNavigation = Request.Params["navigation"].ToString().ToLower();
}
DataOperator.ConnectDataBase();

DataSet ds1 = new DataSet();
ds1 = DataOperator.GetSqlSet("select top 4 * from PicDataInfo where pUse='待机彩图' and pChannelTj=1 and pIsPass=1 order by PostTime desc");
DataTable dt = new DataTable();
dt= ds1.Tables["table1"];

string htmlHeader = ""; //<table>标签
string htmlBody = ""; //中间有若干个<tr>标签,即行
string htmlFoot = ""; //</table>标签

htmlHeader = "<table width='100%' border='0' cellspacing='0' cellpadding='3'>\n";

for(int i = 0;i < dt.Rows.Count ;i ++)
{
if(i % 4 == 0) htmlBody += "<tr>";
htmlBody = htmlBody + String.Format("<td width='25%' align='center'><a href='MmsSend.aspx?account={3}&navigation={4}&id={2}' target='_blank'><img border='0' vspace='5' width='128' height='128' src='{0}'><br><a href='MmsSend.aspx?account={3}&navigation={4}&id={2}' target='_blank'>{1}</a></td>\n","/Resource/pics/" + dt.Rows[i]["pUrl"].ToString(),dt.Rows[i]["pName"].ToString(),dt.Rows[i]["id"].ToString(),strAccount,strNavigation);
}
htmlFoot = "</table>\n";

myHtmlTj.InnerHtml = htmlHeader + htmlBody + htmlFoot;

ds1 = DataOperator.GetSqlSet("select * from newskind where parentid=1");
dt = ds1.Tables["table1"];
dt.Columns.Add("utf8kindname");
for( int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["utf8kindname"] = DataOperator.StrToUtf8(dt.Rows[i]["kindname"].ToString());
}
DataList1.DataSource = dt;
// DataList1.DataSource = DataOperator.GetSqlSet("select * from newskind where parentid=1");
DataList1.DataBind();

DataList2.DataSource = DataOperator.GetSqlSet("select top 10 * from PicDataInfo where pUse='待机彩图' and pIsPass=1 order by pHits_real desc");
DataList2.DataBind();

int cp;
if(this.Request.Params["currentPage"] == null)
{
cp = 1;
}
else
{
cp = Convert.ToInt32(this.Request.Params["currentPage"]);
}
string strOrderBy = "PostTime desc";
if(Request.Params["OrderBy"] != null)
{
string strOrderByTemp = Request.Params["OrderBy"].ToString();
if(strOrderByTemp == "Hit")
{
strOrderBy = "pHits_real desc";
}
}


string strTableName,strSqlWhere,strSqlOrder,strTableKey;
strTableName = "PicDataInfo"; //不可为空
strSqlWhere = " and pUse='待机彩图' and pIsPass=1"; //and 开始,可为空
strSqlOrder = strOrderBy; //不可为空
strTableKey = "id"; //不可为空

if(Request.Params["Keyword"] != null)
{
string strKeyword = Request.Params["Keyword"].ToString();
strSqlWhere += " and pName like '%" + strKeyword +"%'";
}
if(Request.Params["pType"] != null)
{
strSqlWhere += " and pType = '" + Request.Params["pType"].ToString() +"'";
}
int TableCount = DataOperator.GetSqlCount(strTableName,strSqlWhere);

//以下设置控件参数
this.PublicPages1.AllCount = TableCount;//总记录条数
this.PublicPages1.CurrentPage = cp; //当前页,从URL中读取
this.PublicPages1.ShowPages = 10; //导航数字个数
this.PublicPages1.Count = 16; //每页显示的记录条数

StringBuilder sql = new StringBuilder();
//以下三个字符串最终组合成一个完整的表格<table>
htmlHeader = ""; //<table>标签
htmlBody = ""; //中间有若干个<tr>标签,即行
htmlFoot = ""; //</table>标签

DataSet ds2 = new DataSet();
ds2 = DataOperator.GetSqlPage(strTableName,strSqlWhere,strSqlOrder,strTableKey,this.PublicPages1.Count,(this.PublicPages1.CurrentPage - 1) * this.PublicPages1.Count);
// DataTable dt = new DataTable();
dt= ds2.Tables["table3"];
htmlHeader = "<table border='0' cellpadding='5' cellspacing='0' width='100%'>\n";

for(int i = 0;i < dt.Rows.Count ;i ++)
{
if(i % 4 == 0) htmlBody += "<tr>";
htmlBody = htmlBody + String.Format("<td width='25%' align='center' class='mmstd'><a href='MmsSend.aspx?account={3}&navigation={4}&id={2}' target='_blank'><img border='0' vspace='5' width='128' height='128' src='{0}'><br><a href='MmsSend.aspx?account={3}&navigation={4}&id={2}' target='_blank'>{1}</a></td>\n","/Resource/pics/" + dt.Rows[i]["pUrl"].ToString(),dt.Rows[i]["pName"].ToString(),dt.Rows[i]["id"].ToString(),strAccount,strNavigation);
}

htmlFoot = "</table>\n";

this.myHtml.InnerHtml = htmlHeader + htmlBody + htmlFoot;



}
myxs 2005-03-28
  • 打赏
  • 举报
回复
设置断点
cuike519 2005-03-28
  • 打赏
  • 举报
回复
你把Page_Load里面的代码帖出来看看!根据错误的堆栈来看!错误应该就在Page_Load方法里面而不是Page_Load里面的其他的方法。是不是访问了一些可能过期的对象,这种对象在处理之前一定要判断是否为null,再处理。
xingluoqibu 2005-03-27
  • 打赏
  • 举报
回复
能通过编译,是运行一段时间才出错

以下是数据库连接及操作函数

public static void ConnectDataBase()
{
if (con == null)
{
con = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"].ToString());
}

}

public static DataSet GetSqlSet(string StrSql)
{
SqlCommand selectCmd = new SqlCommand(StrSql,con);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = selectCmd;

DataSet ds = new DataSet();

try
{
con.Open();
adapter.Fill(ds,"table1");
con.Close();
}
catch(Exception)
{

}

return ds;
}
robincrystal 2005-03-27
  • 打赏
  • 举报
回复
应该是控件中的名称引用错误。。这个时候不会产生定界付错误,但是不能通过编译运行
xingluoqibu 2005-03-27
  • 打赏
  • 举报
回复
可是我把IIS重启一下就好了,运行一段时间就这样了,而且所有连接数据库的页面都出错
.net对数据库连接数有没有限制,还是重复访问数据库就出错
yezie 2005-03-27
  • 打赏
  • 举报
回复
Page_Load是不是有个字段未实例化就使用了

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧