FlushAsync 方法在 .NET Framework 和 .NET Core 中的行为差异
发布时间
阅读量:
阅读量
本文记录了 FileStream 的 FlushAsync 方法在 .NET Framework 与 .NET Core 中所表现出的行为差异。
在使用 HID 设备进行 IO 通信时,可以通过 FileStream 进行封装,从而实现便捷的异步读写操作。然而,在完成写入操作后,期望调用 FlushAsync 方法将缓存内容刷新至设备。但在 .NET Framework 中,默认情况下调用 FlushAsync 时会将 flushToDisk 参数设为 true,这会导致抛出“操作对象不支持”的异常。而在 .NET Core 中,如 Stephen Toub 所指出的那样,目前尚未有系统提供对异步 Flush 操作的支持,因此在调用 FlushAsync 时等同于将 flushToDisk 参数设为 false 的行为。
以上便是 FileStream 的 FlushAsync 方法在 .NET Framework 与 .NET Core 中行为的差异之处。具体而言,在 .NET Framework 下,默认设置 flushToDisk 参数为 true;而在 .NET Core 下,默认设置为 false。
值得一提的是,所谓的缓存实际上包含两个层次:一是系统层提供的缓存,当调
全部评论 (0)
还没有任何评论哟~
