关于上次说的强类型dataset中事务问题的解决办法,也实用于一般的事务解决方案

TransactionScope 类提供一个简单方法,通过这一方法,您不必与事务本身交互,即可将代码块标记为参与某个事务。事务范围可以自动选择和管理环境事务。由于它易于使用并且效率很高,因此建议您在开发事务应用程序时使用 TransactionScope 类。

此外,您不必显式向事务登记资源。任何 System.Transactions 资源管理器(例如 SQL Server 2005)都可以检测到该范围创建的环境事务的存在并自动登记。
在使用前,应该保证MSDTC(分布式事务协调处理器)服务是启动的:
如下图:



因此,在做强类型设计的时候,你可以这样来写代码:
步骤如下:

1 在项目引用中加入(.net2.0)System.Transactions
2 在头部加入using System.Transactions;
3 加入以下代码片段:

 using (System.Transactions.TransactionScope updateTransaction =new System.Transactions.TransactionScope())
            
{
                ta.InsertName(
"1456789""456""456");
                ta1.InsertName1(
"1456145614561456""456""456");

                updateTransaction.Complete();
              
            }


注意:此命名空间在 .NET Framework 2.0 版中是新增的。

 

Note特别注意的事项:

只能在 Windows 2000、Windows XP 和 Windows 2003 平台上使用此命名空间创建应用程序。在 Windows 98 和 Windows ME 平台上创建事务会引发 PlatformNotSupportedException

posted on 2006-05-24 22:38  c#之旅  阅读(1586)  评论(1编辑  收藏  举报

导航