[英]Copy File Edge Case
我有一個在UserX下運行的應用程序。 我也有2個網絡路徑指向同一Share的子文件夾,例如:
\\\\MyMainShare\\share\\Folder 1
\\\\MyMainShare\\share\\Folder 2
UserX在P1和P2上均沒有權限(這意味着他無法在此處讀寫),但是我確實有UserP1和UserP2。 UserP1只能讀/寫P1。 UserP2只能讀/寫P2。
現在如何將文件從一個文件夾復制到另一個文件夾?
到目前為止,我堅持使用File.Copy和一些模擬功能,但沒有取得積極的結果...我得到的只是“訪問被拒絕” ...
細節:
使用指定的約束,您沒有太多選擇。
比“讀取內存/切換憑據/寫入”更好的選擇是執行以下操作:
批量讀取文件(例如,從Share 1作為UserP1從Share 1中讀取),同時寫入UserP1和UserP2都可以訪問的第三個(也許是本地)位置。 然后從該位置讀取文件作為UserP2並寫入共享2。
如果您有能力以多線程方式執行此操作,則可以讓UserP2在UserP1寫入文件時開始讀取文件。 這樣,在開始復制到共享2之前,您不必等待到第三個位置的寫操作就完成了。您將招致第三個位置所需的存儲空間的損失,但是不會讀取整個文件內存,也不會在開始寫入Share 2之前先將整個文件復制到第三個位置所花費的時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.