>>An aside - if the NAS has dedupe enabled it would be even more elegant to use a native call. That would not touch the file at all, it would just add a pointer in the metadata. The underlying file would never be locked, and would already exist, so it would be immediately available to the secondary process. The contention issue would never arise.
>
>Assuming so, how would this be handled in .NET?
Dedupe would be completely transparent for client machines, it would be handled entirely within the NAS.
You would have to look at the NAS docs or ask the manufacturer about whether native access exists and how it might be provided. I don't know how .Net functionality is packaged, maybe as a DLL that implements a namespace (?)
Doing some Googling, NetApp (as an example) offers this:
https://library.netapp.com/ecmdocs/ECMP1196889/html/GUID-F6ACCB9B-C4BC-4EDA-ACB2-C865E00CB3F1.html
Regards. Al
"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov
Neither a despot, nor a doormat, be
Every app wants to be a database app when it grows up