私のシナリオでは、BufferBlock<Stream>
が外部ソースからStream
を受け取っています。ファイルシステムまたはFTPサーバーとしましょう。これらのファイルStream
は、別のブロックに渡され、処理されます。TransformBlockの出力への出力
これらのファイルのいくつかは圧縮されており、必要に応じてファイルを解凍する中間にBlock
を追加して、それぞれのエントリに対して複数の出力Stream
を作成したいと思います。
しかし、私はTransformBlockMany
を使用したくないと思います。これは、ZIP Stream
を完全に受信し、すぐに出力Stream
アレイを作成する必要があるためです。
私はこのBlock
は、ZIP Stream
を受ける解凍を開始したいと思う、および処理ブロックは、すぐに最初のファイルが解凍されるような処理を開始することができるようにPush
次のストリームへのエントリーは、準備ができている時はいつでも、そしてないまで待ちますすべてが解凍されます。
どうすればいいですか?
ZIP解凍にはどのライブラリを使用していますか? –
System.IO.Compression.ZipFileを使用します。 – Gidon
これまで私の問題は実際には非同期の部分であることを理解しています。非同期を使用しない場合は、TransformManyBlockでyield yieldを使用するだけです。しかし、私は非同期と共に利回りを使うことはできません。 – Gidon