日期:2014-05-18  浏览次数:20920 次

请教C#事务处理的简单问题
static void Main( string[] args )
  {
  CommittableTransaction ct = new CommittableTransaction( );
  TransactionInformation ti = ct.TransactionInformation;
  List<int> arr = new List<int>( );
  try
  {
  arr.Add( 0 );
  arr.Add( 1 );
  arr.RemoveAt( -1 );
  ct.Commit( );
  }
  catch
  {
  ct.Rollback( );
  }
  foreach(int a in arr)
  Console.WriteLine(a);
  Console.Read( );
  }
为什么try中的代码出了异常,没有commit,数据还是被写入到数组之中了?我很不解。

------解决方案--------------------
是不是先执行了上面的代码 再抛出异常