Description
Description
Asynchronous ZipArchive stream methods still call synchronous methods of the underlying stream:
using (var zip = new ZipArchive(/new WriteOnlyStreamWrapper(/httpContext.Response.Body/)/, ZipArchiveMode.Create))
await using (Stream strm = zip.CreateEntry("response").Open())
{
await strm.WriteAsync(bytes); // Synchronous operations are disallowed exception here
}
If I debug using my wrapper, I can see that Flush is called on the stream instead of FlushAsync
Reproduction Steps
Write some code that creates a ZipArchive for writing around a stream that supports only asynchronous operations, creates an entry, open it and write some data to the stream asynchronously.
Expected behavior
The data has been successfully written
Actual behavior
Get "Synchronous operations are disallowed" exception because the framework calls a synchronous method (Flush)
Regression?
No response
Known Workarounds
No response
Configuration
.Net 8, Windows, x64
Other information
No response