C# 使用jmeter命中并发请求时,是否发生死锁异常?
下面是用于C# 使用jmeter命中并发请求时,是否发生死锁异常?,c#,concurrency,entity-framework-6,dbcontext,C#,Concurrency,Entity Framework 6,Dbcontext,下面是用于 只有在使用JMeter的并发请求存在时才会发生此错误。在继续之前,您了解什么是数据库死锁吗?你在用什么数据库?恭喜你!您的性能测试发现了一个bug,否则无法重现。在这方面,你的测试没有问题。@mjwills,你是对的!!这是数据库死锁错误。我现在将研究这个方向。谢谢你的指导有什么方法可以防止这些数据库死锁吗? public async Task<bool> RemoveRefreshToken(RefreshToken refreshToken) {
只有在使用JMeter的并发请求存在时才会发生此错误。在继续之前,您了解什么是数据库死锁吗?你在用什么数据库?恭喜你!您的性能测试发现了一个bug,否则无法重现。在这方面,你的测试没有问题。@mjwills,你是对的!!这是数据库死锁错误。我现在将研究这个方向。谢谢你的指导有什么方法可以防止这些数据库死锁吗?
public async Task<bool> RemoveRefreshToken(RefreshToken refreshToken)
{
using (var dbContextScope = _dbContextScopeFactory.Create())
{
_refreshTokenRepository.Delete(refreshToken);
return await dbContextScope.SaveChangesAsync() > 0;
}
}
Exception Source: EntityFramework Inner Exception: Transaction (Process ID
89) was deadlocked on lock resources with another process and has been chosen
as the deadlock victim. Rerun the transaction.