在Linq-to-Sql MVC App中实现每请求事务的最佳方法

时间:2013-09-11 12:05:21

标签: c# .net asp.net-mvc transactions request

就我而言,我创建了一个请求DataContextTransactionScope。因此,如果没有例外,我可以捕获异常并回滚事务。

目前,我已经在我的主根抽象控制器类中声明了TransactionScope的依赖关系,并且在每个请求上自动创建了事务,然后在该控制器的OnActionExecuted方法中我做了提交或者不是交易。

事实证明,我至少需要一个早期的事务创建,在某些请求中调用AuthorizeAttribute时似乎是这样,并且它们也使用数据库连接

此外,我怀疑创建一个每请求一次的事务必须有更简洁的方式,而不是我的方式。


1那么最好的方法是什么是在不使用像nhibernate这样的其他ORM的情况下,在创建请求时为控制器的操作创建一个事务,并在该请求结束时将它们处理掉?


2有没有办法通过指定ID来以某种方式拆分我的控制器操作,以便具有相同ID的操作不会同时由网络服务器执行?

1 个答案:

答案 0 :(得分:1)

所以,当它确实把我们拒之门外时,没有更好的办法,特别是因为没有人回答它,甚至没有人看过这么有趣的话题。