比如说我打开一个连接异步。我执行我的读者异步。我开始正常使用我的阅读器:
if (await reader.NextResultAsync())
{
while (await reader.ReadAsync())
{
//work
}
}
然后我在同一个读者上做了一个非异步版本:
if (reader.NextResult())
{
while (reader.Read())
{
//Work
}
}
这可能导致任何已知问题吗?我正在审查一些遗留代码,这显然是不一致的;但它是否会在运行时引起任何问题混合它们?
谢谢,
答案 0 :(得分:1)
这不会导致任何问题。
事实上,这并不总是一个坏主意。异步调用比同步调用具有更多开销。以异步方式获取读取器和结果集是合理的(因为这可能需要很长时间),然后同步读取行(因为每行可能很快就可用)。