在这个 asp.net 中,我正在清理可能会发生死锁。我想确保代码正确处理它们,所以我正在尝试编写触发死锁的 NUnit 测试.....
DAO 按实体拆分。每个实体都有一组测试,它们被 Startup() 和 Teardown() 方法包围,这些方法创建一个事务范围,然后在测试完成后将其回滚。这对其他一切都很好,但对于死锁完全没用。
如何使用可以可靠复制的 TransactionScope 和 SQL2000(即涉及 MSDTC)设置和运行“死锁”测试?更多细节:我知道有一种情况,如果两个用户使用不同的、特定的数据值调用两个函数,那么可能会导致死锁。我怎样才能在 NUNIT 中模拟这个 - 并让死锁总是发生?
是的,我确实从“你为什么不首先阻止死锁发生”行动计划开始,但我无法控制可能发生死锁的代码 - 我只是调用函数,它们可以死锁.