更新
我问错了问题,根据回答和评论中的信息重新表述:
是否有关于.NET的异步操作真正是异步的好资料,因此要么是IOCP,要么是异步(重叠)? 有没有快速的方法可以找出是否有几个类这样做呢?
创建FileStream的自然起点是静态的File.Open()方法,其文档未提及所创建的FileStream的同步性! 它也不允许您提供FileOptions(用于指定神奇的FileOptions.Asynchronous标志)。
相反,FileStream是使用FileOptions.None创建的。 任何异步操作都由Stream基类的乐于助人的实现假装,它只是将相应的同步方法包装在委托中,并使用BeginInvoke()方法在线程池上调用它。
这是与通常的“成功之坑”的设计哲学不同的地方,在该设计哲学中,.NET中的一切似乎都按照您的想法工作,而无需仔细阅读文档和/或逐渐发现隐蔽的陷阱。
我一直在尝试找到有关在.NET
中使用IO完成端口的信息。
是否有好方法可以知道给定的.NET类是否正在使用IO完成端口? (而不必每次使用新类时运行某些测试。
我尝试了一些类和方法的msdn文档,但我找不到任何关于它的东西。
更好的是,如果有一些列表,其中包含使用IOCP的类的列表,那就更好了。