我正在使用像Ayende describes这样的MVC3中的每个操作事务过滤器,并想知道其他人如何处理异常和回滚。
操作过滤器将从filterContext对象中了解异常,并将自动回滚事务。但如果我在行动中处理异常,那就不会发生。
我曾想过使用HttpContext.Current.Items来隐藏事务失败的某种标志,然后让我的动作过滤器检查它,但这是我想要避免的kludge。
有人可以就此提出建议吗?
答案 0 :(得分:0)
Sharp architecture提供IDbContext来执行此操作。
答案 1 :(得分:0)
在控制器上,您可以覆盖OnResultExecuted以获取安全区域以处置您的上下文,或回滚您的事务或任何相关的工作单元。