此刻我有点失落。我正在写一个付款页面,当客户点击"付款"我有一个ajax调用
发送确认电子邮件。
var workResult = AddWorkRequest(model); if(String.IsNullOrEmpty(workResult)) { 返回新的HttpStatusCodeResult(HttpStatusCode.BadRequest,workResult); }
var orderResult = AddToDatabase(model,workResult); if(String.IsNullOrEmpty(orderResult)) { 返回新的HttpStatusCodeResult(HttpStatusCode.BadRequest,orderResult); }
var paymentResult = MakePayment(model); if(!String.IsNullOrEmpty(paymentResult)) { 返回新的HttpStatusCodeResult(HttpStatusCode.PaymentRequired,paymentResult); }
var emailResult = SendConfirmationEmails(model,orderResult); if(!String.IsNullOrEmpty(emailResult)) { 返回新的HttpStatusCodeResult(HttpStatusCode.BadRequest,emailResult); }
我的问题是4个步骤中的任何一个都可能导致进程失败,但我真的需要围绕它们进行原子事务。