我有以下扩展方法:
internal static string ReadLine(this DataReader stream)
{
Task<string> line = ReadLineAsync(stream);
// line.Wait(); - Not Required, as next call blocks
return line.Result;
}
它基本上是一个同步方法调用包装器,用于返回一个字符串的异步方法调用。如果我逐行执行该代码,则代码可以正常工作,但是如果我让它自由执行,似乎会遇到一个不确定的块。有任何想法吗?
与我发布的上一个问题相关:如何更新我的 API 以使用 async 关键字而不为所有调用者使用 await