Próbuję ustalić, dlaczego ten kod się zawiesza. Mogę usunąć dowolną z 3 linii na dole testu i nie zawiesi się, ale wszystkie 3 razem sprawią, że się zawiesi. Każda pomoc będzie bardzo ceniona!Połączenie asynchroniczne StackExchange.Redis zawiesza się
[Fact]
public async Task CanAddValuesInParallel() {
var muxer = ConnectionMultiplexer.Connect("localhost");
var db = muxer.GetDatabase();
await AddAsync(db, "test", "1");
await db.KeyDeleteAsync("test");
Task.Run(() => AddAsync(db, "test", "1")).Wait();
}
public async Task<bool> AddAsync(IDatabase db, string key, string value) {
return await db.StringSetAsync(key, value, null, When.NotExists);
}
Dlaczego używasz 'Task.Run' i dlaczego' Czekaj() '? – i3arnon
Myślę, że problem w 'Task.Run (() => AddAsync (db," test "," 1 ")). Czekaj();'. Tutaj masz impas. –
To jest uproszczona wersja mojego kodu. Próbuje go rozbić tak, aby był jak najbardziej uproszczony. Próbuję zrozumieć, co się dzieje. –