我需要每个web请求在我的整个应用程序中实现事务。
我需要在控制器中启动事务,并且如果没有异常,则提交该事务。否则,回滚。
到目前为止,我有以下实现:
首先,我将事务创建为控制器的依赖项。然后,我会执行控制器/服务/存储库/其他工作。最后,主抽象控制器类执行其OnActionExecuted方法,在其中要么提交它,要么不提交。
我使用的技术列表如下:
MVC 4
Ninject
自动映射
服务模式
那么,我想知道关于死锁的情况怎么样?当两个Web请求同时处理并在两个存储库(与其DataContext实例相关联)上获得工作权限时,会发生什么情况?这意味着数据库中的两个表?
例如:一个请求首先想读取表Table1,然后是Table2,同时另一个请求想要使用Table2,然后是Table1。
我该怎么办?
我需要在控制器中启动事务,并且如果没有异常,则提交该事务。否则,回滚。
到目前为止,我有以下实现:
首先,我将事务创建为控制器的依赖项。然后,我会执行控制器/服务/存储库/其他工作。最后,主抽象控制器类执行其OnActionExecuted方法,在其中要么提交它,要么不提交。
我使用的技术列表如下:
MVC 4
Ninject
自动映射
服务模式
那么,我想知道关于死锁的情况怎么样?当两个Web请求同时处理并在两个存储库(与其DataContext实例相关联)上获得工作权限时,会发生什么情况?这意味着数据库中的两个表?
例如:一个请求首先想读取表Table1,然后是Table2,同时另一个请求想要使用Table2,然后是Table1。
我该怎么办?