将此文章发布到首页是想让大家帮助我找到问题所在,所以恳请DuDu别把我文章给转移区域!!小弟先谢过了!!

我做了个在线测试的系统。答题时是用Ajax技术来向一个数据处理页ashx页页面发送答案,然后在该ashx页面通过存储过程对答案进行提交。当本系统初次使用的时候50人考试没有任何问题,不过,自从第一次使用之后,就出现了如下的现象:
    在内存512M的2003服务器系统下,人数少的的时候使用本系统进行答题时不会出现问题,可是当人数超过10左右时就会出现这样或那样的问题。或者说“某某表不存在”,或者说DataReader未关闭。可是我已经仔细研究了代码,我认为能优化的地方都已经优化了。现在实在找不出解决办法了,吐血了都快,希望大家快帮帮我啊!
我所用到的操作类的部分主要代码是这样的:

  1[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)using System;
  2[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)using System.Data;
  3[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)using System.Data.SqlClient;
  4[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)using System.Text;
  5[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)
  6[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)namespace DataAccess
  7

然后我调用该类时这样调用:在一个基类中生成该对象,然后各个需要进行数据库操作的页面继承此基类

1[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?) protected dbControl objDB = dbControl.GetDBOpterator(System.Configuration.ConfigurationManager.ConnectionStrings["HDHTTestOnline_ConnectionString"].ConnectionString);


连接字符串是这样的:

1[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)<connectionStrings>
2[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)        <add name="TestOnline_ConnectionString" connectionString="server=192.168.0.79;database=TestOnline;user=sa;password=sa;"/>
3[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?) </connectionStrings>


以下是答题页面的代码:
答题页面我是这样设计的:每道题目上有一个“保存”按钮,用户需要每答一题点击一次它,点击保存按钮时触发如下事件:

 1[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?) postTarget="PaperDealHandler.ashx?questionid=" + escape(questionid) + "&answer=" + escape(answer);
 2[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)            
 3[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)            //将要处理的题目的ID及其答案提交到数据处理程序中
 4[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)            var wRequest=new Sys.Net.WebRequest();
 5[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)            wRequest.set_url(postTarget);
 6[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)            wRequest.set_httpVerb("POST");
 7[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)            
 8[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)            timer=window.setTimeout("showSaving()",timelength);//设置timelength秒之后显示"正在保存[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)"的timeout
 9[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)            
10[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)            wRequest.add_completed(OnWebRequestCompleted);//提交完成时的事件
11[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?)            wRequest.invoke();

以下是ashx页面的数据处理的代码:
 1[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?) try
 2

pro_InsertStuAnswer存储过程的代码:
 1
1[有人帮我说明了原因,明天找人测试一下]紧急求助!!(请您帮看看我的一个在线考试系统的部分代码是否有问题啊?) protected dbControl objDB = dbControl.GetDBOpterator(System.Configuration.ConfigurationManager.ConnectionStrings["HDHTTestOnline_ConnectionString"].ConnectionString);

相关文章: