C# 在Linq to Sql MVC应用程序中实现每个请求事务的最佳方法

C# 在Linq to Sql MVC应用程序中实现每个请求事务的最佳方法,c#,.net,asp.net-mvc,transactions,request,C#,.net,Asp.net Mvc,Transactions,Request,在我的例子中,我为每个请求创建一个DataContext和TransactionScope。因此,如果没有异常,我可以捕获异常并回滚事务,或者不回滚事务 目前,我已经在我的主根抽象控制器类中声明了TransactionScope的依赖项,并且在每个请求中自动创建事务,然后,在该控制器的OnActionExecuted方法中,我提交或不提交事务 事实证明,我至少需要一个早期的事务创建,当在某些请求中调用AuthorizeAttributes时,它们似乎是这样的,并且它们也使用DB连接 此外,我怀疑

在我的例子中,我为每个请求创建一个
DataContext
TransactionScope
。因此,如果没有异常,我可以捕获异常并回滚事务,或者不回滚事务

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

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

此外,我怀疑一定有比我更干净的方法来创建每个请求一个事务


1那么,在不使用nhibernate等其他ORM的情况下,在创建请求时为控制器的操作创建事务并在该请求结束时处理它们的最佳方法是什么



2.有没有办法通过指定ID将我的控制器的动作以某种渠道分割开来,这样具有相同ID的动作就不会被Web服务器同时执行?

因此,正如我们所看到的那样,没有更好的方法可以做到这一点,特别是因为没有人回答过,甚至没有人看到过这样一个有趣的话题