Versuchen, herauszufinden, warum dieser Code hängt. Ich kann eine der 3 Zeilen am Ende des Tests entfernen und es wird nicht hängen, aber alle 3 zusammen macht es hängen. Jede Hilfe würde sehr geschätzt werden!StackExchange.Redis async-Aufruf hängt
[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);
}
Warum verwenden Sie 'Task.Run' und warum' Wait() '? – i3arnon
Ich denke Problem in 'Task.Run (() => AddAsync (db," test "," 1 ")). Wait();'. Hier haben Sie eine Sackgasse. –
Dies ist die vereinfachte Version meines Codes. Versuchen, es zu brechen, um so vereinfacht wie möglich zu sein. Ich versuche zu verstehen, was vor sich geht. –