添加事务
有些方法可能需要事务支持,我们可能希望事务和业务分开的,也就是说当编写业务代码时根本就不用关心事务,下面我们看一个场景,一个银行帐
户管理类中有一个用于转账的方法,代码如下:
dc.SubmitChanges();
}
}
}
现在我不想修改这部分代码但希望Trans方法是一个事务,下面我们使用PostSharp来实现:
首先引入PostSharp.Laos,PostSharp.Public两个程序集,另外还需引入System.Transactions程序集,添加TransactionScopeAttribte类:
{
transactionScope.Dispose();
}
}
}
然后将属性标识在需要添加事务的方法上
[TransactionScopeAttribte]
public static void Trans(Account a1, Account a2,decimal money)
{
这样这个Trans方法就包括在事务中了。
注意:这里需要开启数据库所在机器的Distributed Transaction Coordinator服务。