有這樣一個需求
web調用webservice實現數據更新
但是web里面會更新多條數據,現在想在webservice里做一個事務,一旦其中一條更新出錯,就回滾
下面代碼是小弟想出來的,但是沒有實現,調用服務就出錯有大蝦做過嗎?webWebService Test= new WebService();//一個服務
try
{
for(int i ....
{
 Test.insertTable1(....
}
Test.insertTable2(....
Test.Commit();
}
catch
{
Test.Rollback();
}web serviceSqlConnection conn;
SqlTransaction trans;
webservice()
{
   conn = new SqlConnection(....
   trans = conn.BeginTransaction();
}[webmethod]
public void insertTable1(..
{...
cmd.Transaction = trans;
}[webmethod]
public void insertTable2(..
{...
cmd.Transaction = trans;
}[webmethod]
public void Commit()
{
 trans.Commit();
}public void Rollback()
{
 trans.Rollback();
}

解决方案 »

  1.   

    期待周公(MVP)大駕光臨,普渡眾生!
    CSDN的高手們,都在哪里啊!
      

  2.   

    可能是不支持SOAP協議,樓下的,您們認為呢?
    如果是的話,又該如何解決呢?
      

  3.   

    在web service中调用数据库操作类。通过事务执行批处理,出错回滚
    调用问题
      

  4.   

    我不知道是不是這樣去設計這個webservice就是不對的
      

  5.   

    試下去掉for循環, 把insertTable1 和 insertTable2寫成一個方法實現事務.
      

  6.   

    自己搞定啦,重點是在于enablesession
    要用session來保存