C# ReadAsAsync上发生一个或多个错误。异常有时抛出,有时不抛出

C# ReadAsAsync上发生一个或多个错误。异常有时抛出,有时不抛出,c#,asynchronous,C#,Asynchronous,我得到这个错误: One or more errors occurred. at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task`1.get_Res

我得到这个错误:

One or more errors occurred.
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at System.Threading.Tasks.Task`1.get_Result()
at MyClass.<GetTranslations>d__1d.MoveNext() in 
...\MyClass.cs:line 719
发生了一个或多个错误。
位于System.Threading.Tasks.Task.ThrowifeException(布尔值IncludeTaskCanceledException)
位于System.Threading.Tasks.Task`1.GetResultCore(布尔waitCompletionNotification)
在System.Threading.Tasks.Task`1.get_Result()中
在MyClass.d_uu1d.MoveNext()中
…\MyClass.cs:第719行
下面是我代码中这一行的内容:

var myTranslations = 
              response.Content.ReadAsAsync<List<MyTranslationModel>>().Result;
var myTranslations=
response.Content.ReadAsAsync().Result;

代码有时工作(取决于数据),有时崩溃。为什么会发生这种情况?

如果您正在使用线程和异步,请使用wait关键字确保在下一个方法准备就绪之前不会调用它

问题并不是这一行,而是这一行调用的任何方法的结果,看起来像MoveNext()


你为什么不等待任务?@DanielMann你是什么意思?我没有在我的应用程序中使用wait关键字。你应该这样做。这就是我的观点。如果您收到一个AggregateException,请检查它的内部exceptions属性以查看实际发生了什么wrong@petko_stankoski如果您不希望该方法是异步的,那么为什么在这里使用异步方法呢?只需使用同步方法。
结果
将同步阻止,直到
任务
完成。您声称执行正在继续,而任务尚未完成。那不会发生的。现在我想我很困惑。看起来他正在启动一个新线程(线程B),异步启动它,然后主线程尝试在线程(B)未完成的情况下读取结果。他根本没有使用多个线程。他正在使用一个异步IO操作,然后同步地等待它。