Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用可重复读取隔离级别sql时死锁_C#_Sql - Fatal编程技术网

C# 使用可重复读取隔离级别sql时死锁

C# 使用可重复读取隔离级别sql时死锁,c#,sql,C#,Sql,最近我的团队在asp.NETC上做了一个项目。它是将这些特性添加到由其他公司完成的现有项目中 这是一辆购物车。当用户在非常罕见的情况下下下订单时,我们会遇到死锁的情况,通过entripise库建立的数据库连接会完全丢失 错误:事务进程ID 89在锁资源上被死锁 已被选为死锁牺牲品。重播 交易 所以我们寻找了各种各样的死锁发生的原因,最终我们知道了死锁的确切原因 原因: DBWrapper wrapper = new DBWrapper(true,System.Data.IsolationLeve

最近我的团队在asp.NETC上做了一个项目。它是将这些特性添加到由其他公司完成的现有项目中

这是一辆购物车。当用户在非常罕见的情况下下下订单时,我们会遇到死锁的情况,通过entripise库建立的数据库连接会完全丢失

错误:事务进程ID 89在锁资源上被死锁 已被选为死锁牺牲品。重播 交易

所以我们寻找了各种各样的死锁发生的原因,最终我们知道了死锁的确切原因

原因:

DBWrapper wrapper = new DBWrapper(true,System.Data.IsolationLevel.RepeatableRead);
使用IsolationLevel.RepeatableRead导致死锁问题

所以我对sql中的锁概念知之甚少

预期进展:

1计划更改隔离级别,其行为与隔离级别类似。可重复读取并防止死锁发生

2或在代码中保持相同的隔离级别,并使用任何锁进行sql查询 概念,并使其成功运作

请注意,这是我们最优先考虑的问题。。。您的想法将受到高度赞赏


请建议我如何处理预期的解决方案。

是否需要使用可重复读取?您不能使用Read Committed吗?我的建议如下:我认为这会有所帮助:隔离级别只是问题的一部分。这些查询实际上是死锁。这个问题没有关于他们的任何信息。就目前而言,没有什么有用的答案。