异步操作同步完成时?

时间:2017-10-18 05:20:34

标签: c# .net asynchronous

IAsyncResult接口中有一个CompletedSynchronously属性,如果异步操作同步完成,则返回true。但在什么情况下这是不可理解的。有可能以某种方式避免这种情况吗?请解释一下。

1 个答案:

答案 0 :(得分:1)

正如MSDN所述:

  

使用此属性确定异步操作是否同步完成。例如,如果I / O请求很小,此属性可以为异步I / O操作返回true

OP:

  

但在什么情况下这是不可理解的。有可能以某种方式避免这种情况吗?

是的,你应该注意:

  

IAsyncResult界面的大多数实施者使用此属性返回false 。从.NET Framework 4.5开始,如果未正确实现此属性,则使用FromAsync方法创建的任务将无法完成。请参阅.NET Framework 4.5中的应用程序兼容性。