У меня была странная проблема сегодня ... Мой код работает на методе ожидания в C# (без ошибок или sth).Странная проблема с ожидающим оператором
user = await JsonConvert.DeserializeObjectAsync<User>(content);
но когда я удалить "ждать" мой код работает ...
user = JsonConvert.DeserializeObjectAsync<User>(content).Result;
У меня такая же проблема с моим HTTPClient:
Работы
using (HttpResponseMessage response = client.PostAsync(url, posts).Result)
Не работает
using (HttpResponseMessage response = await client.PostAsync(url, posts))
проблема не была там днем раньше, и если я поместить свой код в другом классе он работает правильно
выход:
The thread 0xe44 has exited with code 259 (0x103).
The thread 0x81c has exited with code 259 (0x103).
The thread 0x150c has exited with code 259 (0x103).
The thread 0x1660 has exited with code 259 (0x103).
Я переделали, и я до сих пор эту проблему.
Кто-нибудь знает ответ?
Вы работаете в потоке пользовательского интерфейса? Является ли поток пользовательского интерфейса заблокированным, ожидая чего-то еще? – SLaks
Обратите внимание, что эти функции не должны существовать в первую очередь; вы должны явно оставить поток пользовательского интерфейса выше, используя 'Task.Run()'. https://github.com/JamesNK/Newtonsoft.Json/issues/66 http://blogs.msdn.com/b/pfxteam/archive/2012/03/24/10287244.aspx – SLaks
Ow Я вижу сейчас, у меня было для вызова моей функции из моего интерфейса с оператором ожидания. –