Escrevendo no ZipArchive usando o HttpContext OutputStream

Eu tenho tentado obter o "novo" ZipArchive incluído no .NET 4.5 (System.IO.Compression.ZipArchive) para trabalhar em um site ASP.NET. Mas parece que não gosta de escrever para o fluxo deHttpContext.Response.OutputStream.

Meu exemplo de código a seguir lançará

System.NotSupportedException: método especificado não é suportado

assim que uma gravação é tentada no fluxo.

oCanWrite propriedade no fluxo retorna true.

Se eu trocar o OutputStream com um fluxo de arquivos, apontando para um diretório local, ele funciona. O que da?

ZipArchive archive = new ZipArchive(HttpContext.Response.OutputStream, ZipArchiveMode.Create, false);

ZipArchiveEntry entry = archive.CreateEntry("filename");

using (StreamWriter writer = new StreamWriter(entry.Open()))
{
    writer.WriteLine("Information about this package.");
    writer.WriteLine("========================");
}

Stacktrace:

[NotSupportedException: Specified method is not supported.]
System.Web.HttpResponseStream.get_Position() +29
System.IO.Compression.ZipArchiveEntry.WriteLocalFileHeader(Boolean isEmptyFile) +389
System.IO.Compression.DirectToArchiveWriterStream.Write(Byte[] buffer, Int32 offset, Int32 count) +94
System.IO.Compression.WrappedStream.Write(Byte[] buffer, Int32 offset, Int32 count) +41

questionAnswers(5)

yourAnswerToTheQuestion