C#MVC基類實現事務處理思路

VisageNocturne發表於2020-12-28

1、擴充套件Controler建立BaseControler類

protected Dao dao; //公共資料處理 繼承者必須使用dao來處理資料
2、重寫OnActionExecuting

生成資料處理物件

Dao dao= new Dao()

string actionName = filterContext.ActionDescriptor.ActionName;
if (actionName.StartsWith(“save”)) //只針對save開頭的Action進行事務處理
{
dataDeal.TransactionBegin();
}
3、重寫 OnActionExecuted 進行事務提交

        if (dao != null)
        {
            //如果有事務則提交
            dao.TransactionCommit();
        }

4、重寫 OnException 進行事務回滾

if (dao != null)
{
//如果有事務則會滾
dao.TransactionRollback();
}

相關文章