前言
-------------------
前天突然收到顾客的电话,说系统的单据操作后,找不到了。我查看了日志,发现有表被锁的情况,立刻感觉到是系统升级后,有事务处理的问题。
晚上检查代码,发现了原来有事务开启之后,没有关闭的代码存在,导致了数据的丢失。这个简直是超级郁闷。幸好没有造成太大的损失。不过这种情况以后还会出现,怎样才能保证一个事务操作是安全的呢?
事务安全区
--------------------
事务安全区是我自己想出来的,含义就是:在这个区域里面操作事务是绝对安全的,任何代码上的bug都不会对系统数据造成影响。
一个理想的例子:
class TransactionBusiness
{
//delcare transaction safe area
public void TransactionProcess()
{
// open transaction here.
}
// check transaction here.
}
{
//delcare transaction safe area
public void TransactionProcess()
{
// open transaction here.
}
// check transaction here.
}