FileStream writes when pipe is closed
FileStream error handling on Windows has been updated to be consistent with NamedPipeServerStream, NamedPipeClientStream, AnonymousPipeServerStream, and AnonymousPipeClientStream.
Previous behavior
Previously, when writing to a FileStream that represented a closed or disconnected pipe, the underlying operating system error was ignored and the write was reported as successful. However, nothing was written to the pipe.
New behavior
Starting in .NET 8, when writing to a FileStream whose underlying pipe is closed or disconnected, the write fails and an IOException is thrown.
Version introduced
.NET 8 Preview 1
Type of breaking change
This change is a behavioral change.
Reason for change
This change was made to unify the handling of edge cases and avoid silent errors that are difficult to diagnose.
Recommended action
Close or disconnect the pipe after everything has been written.