如何处理 asp.net 4.5 Web 应用程序(VS2012 和 C#、SQL Server)的并发问题
例如:
我的场景是用户可能有机会永远无法处理队列项目。请参阅以下内容:
- 用户 A 打开队列项 (a),仔细查看
- 用户 B 打开队列项目 (a),处理它而不查看
- 用户 A 决定处理 (a),但它被锁定,所以跳转到项目 (b)
- 用户 C 打开队列项 (b),立即处理它
- 用户 A 决定处理 (b),但它再次被锁定
- 同样的事情永远发生在用户 A 身上
这对于用户 A 来说并不理想,即使这种可能性的百分比可能非常小
我在 C# 代码级别以及 SQL Server 存储过程级别使用事务。我还利用 ADO.net 与数据库进行通信
我的问题是:
- 您认为创建事务会解决并发问题吗?
- 我猜 ADO.net 已经内置了并发预防?我对么 ?
- 除了创建事务和使用 ADO.net 之外,我还需要做任何其他事情来防止并发问题吗?