In this article , On Asynchronous I/O comparison part , you are mentioning
"In an attempt to clean all this up, C# provides the methods BeginRead and EndRead that wrap up all the above functionality"
But is that true ?? As I understand Windows NT Os supports Kernel level Asynchronous I/O (similair to aio* in POSIX) . As this feature is existing on Windows , why .NET Library should 'wrap' the functionality you showed in JAVA code ? It can directly use Async I/O calls provided by OS !!
So My question boils down to :
1 - Does C# AsyncI/O uses OS Async I/O support ?
2 - If NOT What could be compelling reasons ?
Any links /Ref's will be appreciated.