title: C# code or library to Update virtual directory contents without breaking clients
body: <p>I have a lot of regularly updating static content that is made available via HTTP through IIS as a Virtual Directory. I have a C# application that updates this static content. The static content represents a matching set.
  This content changes regularly and is validated before being made available to clients.  I am currently doing a Directory Copy using <a href="https://msdn.microsoft.com/en-us/library/bb762914%28v=vs.110%29.aspx" rel="nofollow">this code</a> but it is a bit brute force.</p>
  
  <p>The content has a manifest file with version information. I know I can update the manifest file last but I don't want to pull the rug from under clients that are already downloading older content and leave them with a dirty set of files. </p>
  
  <p>What is the recommended way to do a folder replace so that existing clients don't get a mixed up version of the file set? This must be common but I cannot find any libraries or best practice guidance to do this.
  I've looked things like rsync for Windows and other backup/restore style tools but they all seem like overkill and generally don't have an API.</p>