哪里有FIle.ReadAll *** Async / WriteAll *** Async / AppendAll ***异步方法?

时间:2015-09-29 06:48:38

标签: c# .net file async-await task-parallel-library

File课程中有许多相当方便的方法,例如ReadAll*** / WriteAll*** / AppendAll***

当我需要他们的异步对手时,我遇到了很多案例,但他们不存在。

为什么呢?有没有陷阱?
我知道,这些方法可以轻松实现,但有没有理由不在开箱即用的框架中实现它们?

1 个答案:

答案 0 :(得分:4)

  

" ...我需要他们的异步对应物,但它们不存在。为什么"

与.ync框架一起添加到.Net框架中的所有XXXAsync方法(不包括用async开发的新库)都只是BeginXXX / {{1}的包装器}。

他们没有添加任何新的异步操作,他们只是将旧的异步操作转换为新的基于任务的操作。例如,这是UdpClient.SendAsync

EndXXX

由于没有public Task<int> SendAsync(byte[] datagram, int bytes) { return Task<int>.Factory.FromAsync(BeginSend, EndSend, datagram, bytes, null); } File.BeginReadAll,因此没有File.EndReadAll可以理解。

  

有任何陷阱吗?

实现这些方法的唯一缺陷是以真正的异步方式进行,而不是伪造异步。

相关问题