[
  {
    "Id": "1245315",
    "ThreadId": "545325",
    "Html": "I've got some code that makes .zip files from an amalgam of sources.  It takes several minutes to .Save() the zip.  I'm hoping I can use the progress to signal a reader (on a separate thread) to read chunks as they become available.  What I'm concerned about is if/whether it's safe to do this.  That is, does the Save process jump around in the file, making it unsafe to assume once-written chunks are transmissible on another thread?<br />\n",
    "PostedDate": "2014-05-14T07:34:05.263-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "1245768",
    "ThreadId": "545325",
    "Html": "Don't know who cares about this, but if you do...\r<br />\n<br />\nTurns out, if you pass a file name on the creation of the ZipFile, you can't really do what I was hoping to do...which is to begin transmitting the incrementally-written zip file as it gets built.  This is because the Save method creates a temp file first, and then does a delete/rename at the end.  So, I'm not saving any time, since the target file doesn't really exist until the very end.\r<br />\n<br />\nHowever, if I create the ZipFile w/o arguments, and then pass a stream to the Save method, I get something even better...a stream I can compose on the server and consume on the client using the method cited <a href=\"http://stackoverflow.com/questions/2726527/wcf-and-streaming-requests-and-responses/2729128#2729128\" rel=\"nofollow\">here.</a><br />\n",
    "PostedDate": "2014-05-15T08:34:27.463-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": "2014-05-15T08:34:31.473-07:00"
  }
]