毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> net技术 >> 正文

WEBSERVICE错误应用程序中发生了无处处理的异常

更新时间:2012-6-6:  来源:毕业论文

WEBSERVICE 写的一个插入数据函数

[WebMethod]
  public string InsertData(DataTable dt)
  {
  SqlConnection conn2 = GetConn();
  SqlTransaction t = conn2.BeginTransaction();
  SqlCommand Cmd = conn2.CreateCommand();
  Cmd.Transaction = t;
   
  try
  {
  foreach (DataRow dr in dt.Rows)
  {
   
  Cmd.Parameters.Clear();
  Cmd.CommandText = "insert into productdata(address,customer) Values(@address,@customer)";
  Cmd.Parameters.Add(new SqlParameter("@address", dr["address"].ToString()));
  Cmd.Parameters.Add(new SqlParameter("@customer", dr["customer"].ToString()));
  int intResult=Cmd.ExecuteNonQuery();
  }
  t.Commit();
  }
  catch (Exception ext)
  {
  t.Rollback();
  return (ext.Message);
  }
  finally
  {
  Cmd.Clone();
  conn2.Close();
  }
  return ("true");
  }

 


客户端调用插入数据:

private void buttonSave_Click(object sender, EventArgs e)
{

前面代码省略...

string strvalue = webservice1.InsertData(dt); //dt为一个有1万条记录的DataTable

if (strvalue == "true")
{
MessageBox.Show("保存成功");
}
else
{
MessageBox.Show(strvalue);
}


}

上面是使用C#调用WEBSERVICE的一个函数InsertData插入数据,如果数据提交出错,程序是会自动回滚的,事务处理我测试过了,可以执行。

但是一旦数据量增多,调用webservice1.InsertData(dt); 这句命令后,客户端提示超时。但Dt实际已经传输到了服务器端
并已经插入成功,所以造成一个问题就是:客户端提示传输数据超时错误,但是服务器端已经成功插入数据。请问
应该如何解决?

方法1:延长超时时间

方法2:改为异步提交,但客户得再次查询判断结果

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。